]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mac80211: pause TX while changing interface type
authorJohannes Berg <johannes.berg@intel.com>
Fri, 22 Jan 2021 16:11:16 +0000 (17:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Feb 2021 22:16:17 +0000 (23:16 +0100)
commit9f1f71f1d4bdf2003780e40a20cf0dea5900a182
tree40612eae2917b8c76064bb37fcc35c2b063f33c0
parent8b97c8c934c81583ced691c6116f932060580185
mac80211: pause TX while changing interface type

[ Upstream commit 054c9939b4800a91475d8d89905827bf9e1ad97a ]

syzbot reported a crash that happened when changing the interface
type around a lot, and while it might have been easy to fix just
the symptom there, a little deeper investigation found that really
the reason is that we allowed packets to be transmitted while in
the middle of changing the interface type.

Disallow TX by stopping the queues while changing the type.

Fixes: 34d4bc4d41d2 ("mac80211: support runtime interface type changes")
Reported-by: syzbot+d7a3b15976bf7de2238a@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20210122171115.b321f98f4d4f.I6997841933c17b093535c31d29355be3c0c39628@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/ieee80211_i.h
net/mac80211/iface.c