summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2019-08-28 16:11:10 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-05 13:14:15 +0200
commit84a85e7ec32e5c0db98e52f16821bb6b56e3af7a (patch)
treeb36117c60ee1eecb642ba8a5f829dd020808359e /net
parentd1e007a497f62dded567a3ef7e3a515c92e9fea6 (diff)
downloadlinux-stable-84a85e7ec32e5c0db98e52f16821bb6b56e3af7a.tar.gz
linux-stable-84a85e7ec32e5c0db98e52f16821bb6b56e3af7a.tar.bz2
linux-stable-84a85e7ec32e5c0db98e52f16821bb6b56e3af7a.zip
cfg80211: Purge frame registrations on iftype change
commit c1d3ad84eae35414b6b334790048406bd6301b12 upstream. Currently frame registrations are not purged, even when changing the interface type. This can lead to potentially weird situations where frames possibly not allowed on a given interface type remain registered due to the type switching happening after registration. The kernel currently relies on userspace apps to actually purge the registrations themselves, this is not something that the kernel should rely on. Add a call to cfg80211_mlme_purge_registrations() to forcefully remove any registrations left over prior to switching the iftype. Cc: stable@vger.kernel.org Signed-off-by: Denis Kenzior <denkenz@gmail.com> Link: https://lore.kernel.org/r/20190828211110.15005-1-denkenz@gmail.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/wireless/util.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index e74837824cea..f68818dbac1a 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -960,6 +960,7 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev,
}
cfg80211_process_rdev_events(rdev);
+ cfg80211_mlme_purge_registrations(dev->ieee80211_ptr);
}
err = rdev_change_virtual_intf(rdev, dev, ntype, params);