diff options
author | Johannes Berg <johannes.berg@intel.com> | 2020-08-19 10:46:48 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2020-08-27 10:53:14 +0200 |
commit | 47caf685a6854593348f216e0b489b71c10cbe03 (patch) | |
tree | dc18ccb244f50e1495fadf4ca93bbecd0e760a88 /net/wireless | |
parent | 3579994476b65cb5e272ff0f720a1fd31322e53f (diff) | |
download | lwn-47caf685a6854593348f216e0b489b71c10cbe03.tar.gz lwn-47caf685a6854593348f216e0b489b71c10cbe03.zip |
cfg80211: regulatory: reject invalid hints
Reject invalid hints early in order to not cause a kernel
WARN later if they're restored to or similar.
Reported-by: syzbot+d451401ffd00a60677ee@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=d451401ffd00a60677ee
Link: https://lore.kernel.org/r/20200819084648.13956-1-johannes@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/reg.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 35b8847a2f6d..d8a90d397423 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -2946,6 +2946,9 @@ int regulatory_hint_user(const char *alpha2, if (WARN_ON(!alpha2)) return -EINVAL; + if (!is_world_regdom(alpha2) && !is_an_alpha2(alpha2)) + return -EINVAL; + request = kzalloc(sizeof(struct regulatory_request), GFP_KERNEL); if (!request) return -ENOMEM; |