mt76: fix array overflow on receiving too many fragments for a packet
authorFelix Fietkau <nbd@nbd.name>
Thu, 20 Feb 2020 11:41:39 +0000 (12:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2020 06:17:53 +0000 (07:17 +0100)
commit02013734629bf57070525a3515509780092a63ab
treee8bbe037d0aabbfdf37e92d20e54a5cef28c3824
parent1357bf0ca50f8d11ddec119241aac552a75215f6
mt76: fix array overflow on receiving too many fragments for a packet

commit b102f0c522cf668c8382c56a4f771b37d011cda2 upstream.

If the hardware receives an oversized packet with too many rx fragments,
skb_shinfo(skb)->frags can overflow and corrupt memory of adjacent pages.
This becomes especially visible if it corrupts the freelist pointer of
a slab page.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/mediatek/mt76/dma.c