• Florian Westphal's avatar
    net: ip_tunnel: prevent perpetual headroom growth · 5ae1e992
    Florian Westphal authored
    syzkaller triggered following kasan splat:
    BUG: KASAN: use-after-free in __skb_flow_dissect+0x19d1/0x7a50 net/core/flow_dissector.c:1170
    Read of size 1 at addr ffff88812fb4000e by task syz-executor183/5191
    [..]
     kasan_report+0xda/0x110 mm/kasan/report.c:588
     __skb_flow_dissect+0x19d1/0x7a50 net/core/flow_dissector.c:1170
     skb_flow_dissect_flow_keys include/linux/skbuff.h:1514 [inline]
     ___skb_get_hash net/core/flow_dissector.c:1791 [inline]
     __skb_get_hash+0xc7/0x540 net/core/flow_dissector.c:1856
     skb_get_hash include/linux/skbuff.h:1556 [inline]
     ip_tunnel_xmit+0x1855/0x33c0 net/ipv4/ip_tunnel.c:748
     ipip_tunnel_xmit+0x3cc/0x4e0 net/ipv4/ipip.c:308
     __netdev_start_xmit include/linux/netdevice.h:4940 [inline]
     netdev_start_xmit include/linux/netdevice.h:4954 [inline]
     xmit_one net/core/dev.c:3548 [inline]
     dev_hard_start_xmit+0x13d/0x6d0 net/core/dev.c:3564
     __dev_queue_xmit+0x7c1/0x3d60 net/core/dev.c:4349
     dev_queue_xmit include/linux/netdevice.h:3134 [...
    5ae1e992
ip_tunnel.c 31 KB