syzbot


KASAN: slab-out-of-bounds Read in gre_build_header

Status: auto-closed as invalid on 2021/05/23 23:32
Subsystems: net
[Documentation on labels]
First crash: 1129d, last: 1129d

Sample crash report:
netlink: 12 bytes leftover after parsing attributes in process `syz-executor.0'.
==================================================================
BUG: KASAN: slab-out-of-bounds in lco_csum include/linux/skbuff.h:4639 [inline]
BUG: KASAN: slab-out-of-bounds in gre_build_header+0x7c8/0x880 include/net/gre.h:139
Read of size 2 at addr ffff88802c8d0bd2 by task syz-executor.0/10414

CPU: 1 PID: 10414 Comm: syz-executor.0 Not tainted 5.11.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:79 [inline]
 dump_stack+0x125/0x19e lib/dump_stack.c:120
 print_address_description+0x5f/0x3a0 mm/kasan/report.c:230
 __kasan_report mm/kasan/report.c:396 [inline]
 kasan_report+0x15e/0x200 mm/kasan/report.c:413
 lco_csum include/linux/skbuff.h:4639 [inline]
 gre_build_header+0x7c8/0x880 include/net/gre.h:139
 __gre_xmit net/ipv4/ip_gre.c:462 [inline]
 gre_tap_xmit+0x4c7/0x720 net/ipv4/ip_gre.c:730
 __netdev_start_xmit include/linux/netdevice.h:4793 [inline]
 netdev_start_xmit include/linux/netdevice.h:4807 [inline]
 xmit_one net/core/dev.c:3593 [inline]
 dev_hard_start_xmit+0x20b/0x450 net/core/dev.c:3609
 sch_direct_xmit+0x1f0/0xd30 net/sched/sch_generic.c:313
 qdisc_restart net/sched/sch_generic.c:376 [inline]
 __qdisc_run+0xa4d/0x1a90 net/sched/sch_generic.c:384
 __dev_xmit_skb net/core/dev.c:3843 [inline]
 __dev_queue_xmit+0x1141/0x2a50 net/core/dev.c:4150
 packet_snd net/packet/af_packet.c:3006 [inline]
 packet_sendmsg+0x4cd8/0x6650 net/packet/af_packet.c:3031
 sock_sendmsg_nosec net/socket.c:652 [inline]
 sock_sendmsg net/socket.c:672 [inline]
 __sys_sendto+0x438/0x5c0 net/socket.c:1975
 __do_sys_sendto net/socket.c:1987 [inline]
 __se_sys_sendto net/socket.c:1983 [inline]
 __x64_sys_sendto+0xda/0xf0 net/socket.c:1983
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x465ef9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f3deb068188 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 000000000056bf60 RCX: 0000000000465ef9
RDX: 0000000000003287 RSI: 0000000020000080 RDI: 0000000000000003
RBP: 00000000004bcd1c R08: 0000000000000000 R09: 00000000000002ff
R10: 0000000004000002 R11: 0000000000000246 R12: 000000000056bf60
R13: 00007ffebedf817f R14: 00007f3deb068300 R15: 0000000000022000

Allocated by task 10414:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track mm/kasan/common.c:46 [inline]
 set_alloc_info mm/kasan/common.c:401 [inline]
 ____kasan_kmalloc+0xbd/0xf0 mm/kasan/common.c:429
 kasan_slab_alloc include/linux/kasan.h:209 [inline]
 slab_post_alloc_hook mm/slab.h:512 [inline]
 slab_alloc_node mm/slub.c:2892 [inline]
 __kmalloc_node_track_caller+0x1fd/0x3e0 mm/slub.c:4550
 kmalloc_reserve net/core/skbuff.c:353 [inline]
 __alloc_skb+0x127/0x580 net/core/skbuff.c:424
 skb_segment+0xc5a/0x3e90 net/core/skbuff.c:4002
 tcp_gso_segment+0x355/0x1a00 net/ipv4/tcp_offload.c:98
 ipv6_gso_segment+0x635/0x10d0 net/ipv6/ip6_offload.c:116
 skb_mac_gso_segment+0x298/0x4d0 net/core/dev.c:3345
 __skb_gso_segment+0x330/0x610 net/core/dev.c:3418
 skb_gso_segment include/linux/netdevice.h:4743 [inline]
 tbf_segment net/sched/sch_tbf.c:199 [inline]
 tbf_enqueue+0x15f/0x8e0 net/sched/sch_tbf.c:234
 __dev_xmit_skb net/core/dev.c:3837 [inline]
 __dev_queue_xmit+0xe5a/0x2a50 net/core/dev.c:4150
 packet_snd net/packet/af_packet.c:3006 [inline]
 packet_sendmsg+0x4cd8/0x6650 net/packet/af_packet.c:3031
 sock_sendmsg_nosec net/socket.c:652 [inline]
 sock_sendmsg net/socket.c:672 [inline]
 __sys_sendto+0x438/0x5c0 net/socket.c:1975
 __do_sys_sendto net/socket.c:1987 [inline]
 __se_sys_sendto net/socket.c:1983 [inline]
 __x64_sys_sendto+0xda/0xf0 net/socket.c:1983
 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xae

The buggy address belongs to the object at ffff88802c8d0800
 which belongs to the cache kmalloc-512 of size 512
The buggy address is located 466 bytes to the right of
 512-byte region [ffff88802c8d0800, ffff88802c8d0a00)
The buggy address belongs to the page:
page:0000000005194ce4 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802c8d2000 pfn:0x2c8d0
head:0000000005194ce4 order:2 compound_mapcount:0 compound_pincount:0
flags: 0xfff00000010200(slab|head)
raw: 00fff00000010200 ffffea0000aaf500 0000000300000003 ffff888011041280
raw: ffff88802c8d2000 000000008010000f 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88802c8d0a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff88802c8d0b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88802c8d0b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
                                                 ^
 ffff88802c8d0c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88802c8d0c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/02/22 23:28 upstream a99163e9e708 c26fb06b .config console log report info ci-upstream-kasan-gce-smack-root KASAN: slab-out-of-bounds Read in gre_build_header
* Struck through repros no longer work on HEAD.