| From: Eric Biggers <ebiggers@google.com> |
| Date: Mon, 10 Jun 2019 13:02:19 -0700 |
| Subject: cfg80211: fix memory leak of wiphy device name |
| |
| commit 4f488fbca2a86cc7714a128952eead92cac279ab upstream. |
| |
| In wiphy_new_nm(), if an error occurs after dev_set_name() and |
| device_initialize() have already been called, it's necessary to call |
| put_device() (via wiphy_free()) to avoid a memory leak. |
| |
| Reported-by: syzbot+7fddca22578bc67c3fe4@syzkaller.appspotmail.com |
| Fixes: 1f87f7d3a3b4 ("cfg80211: add rfkill support") |
| Signed-off-by: Eric Biggers <ebiggers@google.com> |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| net/wireless/core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/wireless/core.c |
| +++ b/net/wireless/core.c |
| @@ -386,7 +386,7 @@ struct wiphy *wiphy_new(const struct cfg |
| &rdev->rfkill_ops, rdev); |
| |
| if (!rdev->rfkill) { |
| - kfree(rdev); |
| + wiphy_free(&rdev->wiphy); |
| return NULL; |
| } |
| |