OSDN Git Service

net: check untrusted gso_size at kernel entry
authorWillem de Bruijn <willemb@google.com>
Mon, 25 May 2020 19:07:40 +0000 (15:07 -0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2020 03:23:46 +0000 (20:23 -0700)
commit6dd912f82680761d8fb6b1bb274a69d4c7010988
treed512c61bcf35dfa3057289a23977bacc7e35fd9f
parent0a82e230c68860b7286dad8644d9d9f7cfd755d2
net: check untrusted gso_size at kernel entry

Syzkaller again found a path to a kernel crash through bad gso input:
a packet with gso size exceeding len.

These packets are dropped in tcp_gso_segment and udp[46]_ufo_fragment.
But they may affect gso size calculations earlier in the path.

Now that we have thlen as of commit 9274124f023b ("net: stricter
validation of untrusted gso packets"), check gso_size at entry too.

Fixes: bfd5f4a3d605 ("packet: Add GSO/csum offload support.")
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/virtio_net.h