• Felix Fietkau's avatar
    mac80211: fix queue selection for data frames on monitor interfaces · 193e70ef
    Felix Fietkau authored
    When ieee80211_monitor_select_queue encounters data frames, it selects
    the WMM AC based on skb->priority and assumes that skb->priority
    contains a valid 802.1d tag. However this assumption is incorrect, since
    ieee80211_select_queue has not been called at this point.
    If skb->priority > 7, an array overrun occurs, which could lead to
    invalid values, resulting in crashes in the tx path.
    Fix this by setting skb->priority based on the 802.11 header for QoS
    frames and using the default AC for all non-QoS frames.
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    193e70ef
iface.c 26.4 KB