• Rajkumar Manoharan's avatar
    mac80211: strictly check mesh address extension mode · 035fd2a0
    Rajkumar Manoharan authored
    commit 5667c86a upstream.
    
    Mesh forwarding path checks for address extension mode to fetch
    appropriate proxied address and MPP address. Existing condition
    that looks for 6 address format is not strict enough so that
    frames with improper values are processed and invalid entries
    are added into MPP table. Fix that by adding a stricter check before
    processing the packet.
    
    Per IEEE Std 802.11s-2011 spec. Table 7-6g1 lists address extension
    mode 0x3 as reserved one. And also Table Table 9-13 does not specify
    0x3 as valid address field.
    
    Fixes: 9b395bc3 ("mac80211: verify that skb data is present")
    Signed-off-by: default avatarRajkumar Manoharan <rmanohar@qti.qualcomm.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    [bwh: Backported to 3.2: add mesh_flags variable in ieee80211_data_to_8023(),
     added separately upstream]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    035fd2a0
rx.c 86.4 KB