OSDN Git Service

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)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Mar 2023 10:15:15 +0000 (10:15 +0000)
commit7f247f5a2c18b3f21206cdd51193df4f38e1b9f5
tree5af5d562316941548792c14c41eab7d6e7e9532e
parent6b6bc5b8bd2d4ca9e1efa9ae0f98a0b0687ace75
net: usb: lan78xx: Limit packet length to skb->len

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>
drivers/net/usb/lan78xx.c