From f36f3083ecc720e091a9eeea99501005c3144edd Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 13 Apr 2018 10:38:32 +0200 Subject: [PATCH] mt7603: improve validation of rx frames - discard packets that have no rx group 3 (signal/rate info missing) - discard packets marked as VHT (no hardware support) - discard packets with invalid HT rate values Signed-off-by: Felix Fietkau --- mt7603_mac.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mt7603_mac.c b/mt7603_mac.c index 7292d4b9..c7d90742 100644 --- a/mt7603_mac.c +++ b/mt7603_mac.c @@ -486,9 +486,8 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb) case MT_PHY_TYPE_HT_GF: case MT_PHY_TYPE_HT: status->encoding = RX_ENC_HT; - break; - case MT_PHY_TYPE_VHT: - status->encoding = RX_ENC_VHT; + if (i > 15) + return -EINVAL; break; default: return -EINVAL; @@ -517,6 +516,8 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb) rxd += 6; if ((u8 *) rxd - skb->data >= skb->len) return -EINVAL; + } else { + return -EINVAL; } skb_pull(skb, (u8 *) rxd - skb->data + 2 * remove_pad);