Re: [PATCH net-next] udp: disable gso with no_check_tx
From: Michal Kubecek <hidden>
Date: 2018-05-02 07:06:01
From: Michal Kubecek <hidden>
Date: 2018-05-02 07:06:01
On Mon, Apr 30, 2018 at 03:58:36PM -0400, Willem de Bruijn wrote:
From: Willem de Bruijn <willemb@google.com> Syzbot managed to send a udp gso packet without checksum offload into the gso stack by disabling tx checksum (UDP_NO_CHECK6_TX). This triggered the skb_warn_bad_offload. RIP: 0010:skb_warn_bad_offload+0x2bc/0x600 net/core/dev.c:2658 skb_gso_segment include/linux/netdevice.h:4038 [inline] validate_xmit_skb+0x54d/0xd90 net/core/dev.c:3120 __dev_queue_xmit+0xbf8/0x34c0 net/core/dev.c:3577 dev_queue_xmit+0x17/0x20 net/core/dev.c:3618 UDP_NO_CHECK6_TX sets skb->ip_summed to CHECKSUM_NONE just after the udp gso integrity checks in udp_(v6_)send_skb. Extend those checks to catch and fail in this case.
Sounds rather familiar... perhaps we might want to check other exceptions added to UFO over the years, some might apply here as well. Michal Kubecek