| From 7c6e5951c2a4de62724e0c84fc3d44beb7bd1004 Mon Sep 17 00:00:00 2001 |
| From: Johannes Berg <johannes.berg@intel.com> |
| Date: Mon, 13 Jan 2020 12:53:59 +0100 |
| Subject: [PATCH] cfg80211: check for set_wiphy_params |
| |
| commit 24953de0a5e31dcca7e82c8a3c79abc2dfe8fb6e upstream. |
| |
| Check if set_wiphy_params is assigned and return an error if not, |
| some drivers (e.g. virt_wifi where syzbot reported it) don't have |
| it. |
| |
| Reported-by: syzbot+e8a797964a4180eb57d5@syzkaller.appspotmail.com |
| Reported-by: syzbot+34b582cf32c1db008f8e@syzkaller.appspotmail.com |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Link: https://lore.kernel.org/r/20200113125358.ac07f276efff.Ibd85ee1b12e47b9efb00a2adc5cd3fac50da791a@changeid |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h |
| index e853a4fe6f97..3dd9515c836b 100644 |
| --- a/net/wireless/rdev-ops.h |
| +++ b/net/wireless/rdev-ops.h |
| @@ -538,6 +538,10 @@ static inline int |
| rdev_set_wiphy_params(struct cfg80211_registered_device *rdev, u32 changed) |
| { |
| int ret; |
| + |
| + if (!rdev->ops->set_wiphy_params) |
| + return -EOPNOTSUPP; |
| + |
| trace_rdev_set_wiphy_params(&rdev->wiphy, changed); |
| ret = rdev->ops->set_wiphy_params(&rdev->wiphy, changed); |
| trace_rdev_return_int(&rdev->wiphy, ret); |
| -- |
| 2.7.4 |
| |