lkml.org 
[lkml]   [2018]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 004/145] cfg80211: check dev_set_name() return value
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Johannes Berg <johannes.berg@intel.com>

    commit 59b179b48ce2a6076448a44531242ac2b3f6cef2 upstream.

    syzbot reported a warning from rfkill_alloc(), and after a while
    I think that the reason is that it was doing fault injection and
    the dev_set_name() failed, leaving the name NULL, and we didn't
    check the return value and got to rfkill_alloc() with a NULL name.
    Since we really don't want a NULL name, we ought to check the
    return value.

    Fixes: fb28ad35906a ("net: struct device - replace bus_id with dev_name(), dev_set_name()")
    Reported-by: syzbot+1ddfb3357e1d7bb5b5d3@syzkaller.appspotmail.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/wireless/core.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    --- a/net/wireless/core.c
    +++ b/net/wireless/core.c
    @@ -421,6 +421,8 @@ struct wiphy *wiphy_new_nm(const struct
    if (rv)
    goto use_default_name;
    } else {
    + int rv;
    +
    use_default_name:
    /* NOTE: This is *probably* safe w/out holding rtnl because of
    * the restrictions on phy names. Probably this call could
    @@ -428,7 +430,11 @@ use_default_name:
    * phyX. But, might should add some locking and check return
    * value, and use a different name if this one exists?
    */
    - dev_set_name(&rdev->wiphy.dev, PHY_NAME "%d", rdev->wiphy_idx);
    + rv = dev_set_name(&rdev->wiphy.dev, PHY_NAME "%d", rdev->wiphy_idx);
    + if (rv < 0) {
    + kfree(rdev);
    + return NULL;
    + }
    }

    INIT_LIST_HEAD(&rdev->wiphy.wdev_list);

    \
     
     \ /
      Last update: 2018-02-23 21:08    [W:3.296 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site