]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net: usb: lan78xx: Limit packet length to skb->len
authorSzymon Heidrich <szymon.heidrich@gmail.com>
Sat, 18 Mar 2023 09:25:52 +0000 (10:25 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Mar 2023 10:49:06 +0000 (12:49 +0200)
commit83de34967473ed31d276381373713cc2869a42e5
tree00e8a6eeeea7fc5d3b397744e0de7bef14ca1cd7
parent5fc2c4e311a9341a2b0e044ab5f33afa37b56226
net: usb: lan78xx: Limit packet length to skb->len

[ Upstream commit 7f247f5a2c18b3f21206cdd51193df4f38e1b9f5 ]

Packet length retrieved from descriptor may be larger than
the actual socket buffer length. In such case the cloned
skb passed up the network stack will leak kernel memory contents.

Additionally prevent integer underflow when size is less than
ETH_FCS_LEN.

Fixes: 55d7de9de6c3 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/usb/lan78xx.c