mac80211: do not access the IV when it was stripped
authorXing Song <xing.song@mediatek.com>
Mon, 1 Nov 2021 02:46:57 +0000 (10:46 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Dec 2021 08:04:38 +0000 (09:04 +0100)
commit9d3eb89e6ca3b7e540b95d5dcb57c1907fce2880
tree40689f481e0f03c81bffea5bec3bcec400b596a0
parent8e7c364d1c07dbd9461c7d56e4feb8a1bd92b438
mac80211: do not access the IV when it was stripped

[ Upstream commit 77dfc2bc0bb4b8376ecd7a430f27a4a8fff6a5a0 ]

ieee80211_get_keyid() will return false value if IV has been stripped,
such as return 0 for IP/ARP frames due to LLC header, and return -EINVAL
for disassociation frames due to its length... etc. Don't try to access
it if it's not present.

Signed-off-by: Xing Song <xing.song@mediatek.com>
Link: https://lore.kernel.org/r/20211101024657.143026-1-xing.song@mediatek.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/rx.c