mirror of
https://github.com/torvalds/linux.git
synced 2026-10-10 04:18:03 +02:00
wifi: mt76: mt76x02: do not WARN on invalid rx descriptor length
The MPDU length in the rx descriptor comes from the hardware. In monitor mode with the fcsfail filter enabled, the hardware passes up corrupted frames, and a corrupted frame can report a length larger than the received buffer. The bounds check correctly discards such frames, but its WARN_ON_ONCE wrapper means any over-the-air garbage frame taints the kernel, and panics it on the first such frame when panic_on_warn is set. Drop the WARN and discard the frame silently, matching what commitc2d4c8723d("mt76x2: remove some harmless WARN_ONs in tx status and rx path") did for the neighboring rx and tx status paths. Observed immediately on rx with an MT7612U in fcsfail monitor mode on a busy channel. Fixes:7bc04215a6("mt76: add driver code for MT76x2e") Signed-off-by: Devin Wittmayer <lucid_duck@justthetip.ca> Link: https://patch.msgid.link/20260613002544.27750-2-lucid_duck@justthetip.ca Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
420e0bbd52
commit
81497634d9
|
|
@ -848,7 +848,7 @@ int mt76x02_mac_process_rx(struct mt76x02_dev *dev, struct sk_buff *skb,
|
|||
}
|
||||
}
|
||||
|
||||
if (WARN_ON_ONCE(len > skb->len))
|
||||
if (len > skb->len)
|
||||
return -EINVAL;
|
||||
|
||||
if (pskb_trim(skb, len))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user