nl80211: validate beacon head
authorJohannes Berg <johannes.berg@intel.com>
Fri, 20 Sep 2019 19:54:17 +0000 (21:54 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 1 Oct 2019 15:56:18 +0000 (17:56 +0200)
commitf88eb7c0d002a67ef31aeb7850b42ff69abc46dc
treee441fc47971730e402535959123f311151ce331e
parent68ce6688a5baefde30914fc07fc27292dbbe8320
nl80211: validate beacon head

We currently don't validate the beacon head, i.e. the header,
fixed part and elements that are to go in front of the TIM
element. This means that the variable elements there can be
malformed, e.g. have a length exceeding the buffer size, but
most downstream code from this assumes that this has already
been checked.

Add the necessary checks to the netlink policy.

Cc: stable@vger.kernel.org
Fixes: ed1b6cc7f80f ("cfg80211/nl80211: add beacon settings")
Link: https://lore.kernel.org/r/1569009255-I7ac7fbe9436e9d8733439eab8acbbd35e55c74ef@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c