]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mac80211: fix use-after-free
authorJohannes Berg <johannes.berg@intel.com>
Fri, 24 Sep 2010 09:20:47 +0000 (11:20 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Mar 2011 19:43:14 +0000 (12:43 -0700)
commit3f10d217f3744132e9f896d7d4b5cedf7ee2e821
tree716cf27392f75e5520fbc45c8af17cc125811b10
parent2ac21c50ae99b349fff21b8c49d12b3867752f4b
mac80211: fix use-after-free

commit cd87a2d3a33d75a646f1aa1aa2ee5bf712d6f963 upstream.

commit 8c0c709eea5cbab97fb464cd68b06f24acc58ee1
Author: Johannes Berg <johannes@sipsolutions.net>
Date:   Wed Nov 25 17:46:15 2009 +0100

    mac80211: move cmntr flag out of rx flags

moved the CMTR flag into the skb's status, and
in doing so introduced a use-after-free -- when
the skb has been handed to cooked monitors the
status setting will touch now invalid memory.

Additionally, moving it there has effectively
discarded the optimisation -- since the bit is
only ever set on freed SKBs, and those were a
copy, it could never be checked.

For the current release, fixing this properly
is a bit too involved, so let's just remove the
problematic code and leave userspace with one
copy of each frame for each virtual interface.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/mac80211/rx.c