Commit 23030cc7 authored by Denis Kenzior's avatar Denis Kenzior Committed by Khalid Elmously

cfg80211: Purge frame registrations on iftype change

BugLink: https://bugs.launchpad.net/bugs/1848589

commit c1d3ad84 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: default avatarDenis Kenzior <denkenz@gmail.com>
Link: https://lore.kernel.org/r/20190828211110.15005-1-denkenz@gmail.comSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarConnor Kuehl <connor.kuehl@canonical.com>
Signed-off-by: default avatarKleber Sacilotto de Souza <kleber.souza@canonical.com>
parent 24432466
...@@ -987,6 +987,7 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev, ...@@ -987,6 +987,7 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev,
} }
cfg80211_process_rdev_events(rdev); cfg80211_process_rdev_events(rdev);
cfg80211_mlme_purge_registrations(dev->ieee80211_ptr);
} }
err = rdev_change_virtual_intf(rdev, dev, ntype, flags, params); err = rdev_change_virtual_intf(rdev, dev, ntype, flags, params);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment