mac80211: fix crash when using mesh (11s) VIF together with another VIF
authorFelix Fietkau <nbd@openwrt.org>
Mon, 2 Nov 2015 18:26:15 +0000 (18:26 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 2 Nov 2015 18:26:15 +0000 (18:26 +0000)
commit7224c5d2490732c6e76ea5bfda184b7b4d2686e6
tree99ca7a81917ba79f2b3b9812a1d62e9a0fec493e
parent0b296d380807050cee0a682caf388d6d71aef435
mac80211: fix crash when using mesh (11s) VIF together with another VIF

llid_in_use needs to be limited to stations of the same VIF, otherwise it
will cause a NULL deref as the sta_info of non-mesh-VIFs don't have
sta->mesh set.

Steps to reproduce:

   modprobe mac80211_hwsim channels=2
   iw phy phy0 interface add ibss0 type ibss
   iw phy phy0 interface add mesh0 type mp
   iw phy phy1 interface add ibss1 type ibss
   iw phy phy1 interface add mesh1 type mp
   ip link set ibss0 up
   ip link set mesh0 up
   ip link set ibss1 up
   ip link set mesh1 up
   iw dev ibss0 ibss join foo 2412
   iw dev ibss1 ibss join foo 2412
   # Ensure that ibss0 and ibss1 are actually associated; I often need to
   # leave and join the cell on ibss1 a second time.
   iw dev mesh0 mesh join bar
   iw dev mesh1 mesh join bar # crash

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 47364
package/kernel/mac80211/patches/313-mac80211-fix-crash-on-mesh-local-link-ID-generation-.patch [new file with mode: 0644]