syzbot
general protection fault in netif_napi_del (2)
Status:
upstream: reported C repro on 2022/06/13 16:31
Reported-by: syzbot+0c692ad3fdee109cfb82@syzkaller.appspotmail.com
First crash: 1527d, last: 1293d
Sample crash report:
IPVS: ftp: loaded support on port[0] = 21
netlink: 20 bytes leftover after parsing attributes in process `syz-executor170'.
netlink: 20 bytes leftover after parsing attributes in process `syz-executor170'.
==================================================================
BUG: KASAN: slab-out-of-bounds in flush_gro_hash net/core/dev.c:6241 [inline]
BUG: KASAN: slab-out-of-bounds in netif_napi_del+0x301/0x380 net/core/dev.c:6256
Read of size 8 at addr ffff8880afc68798 by task syz-executor170/8155
CPU: 0 PID: 8155 Comm: syz-executor170 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
print_address_description.cold+0x54/0x219 mm/kasan/report.c:256
kasan_report_error.cold+0x8a/0x1b9 mm/kasan/report.c:354
kasan_report mm/kasan/report.c:412 [inline]
__asan_report_load8_noabort+0x88/0x90 mm/kasan/report.c:433
flush_gro_hash net/core/dev.c:6241 [inline]
netif_napi_del+0x301/0x380 net/core/dev.c:6256
free_netdev+0x21f/0x410 net/core/dev.c:9250
netdev_run_todo+0x89b/0xab0 net/core/dev.c:9002
rtnl_unlock net/core/rtnetlink.c:117 [inline]
rtnetlink_rcv_msg+0x460/0xb80 net/core/rtnetlink.c:4783
netlink_rcv_skb+0x160/0x440 net/netlink/af_netlink.c:2463
netlink_unicast_kernel net/netlink/af_netlink.c:1325 [inline]
netlink_unicast+0x4d5/0x690 net/netlink/af_netlink.c:1351
netlink_sendmsg+0x6c3/0xc50 net/netlink/af_netlink.c:1917
sock_sendmsg_nosec net/socket.c:651 [inline]
sock_sendmsg+0xc3/0x120 net/socket.c:661
___sys_sendmsg+0x7bb/0x8e0 net/socket.c:2227
__sys_sendmsg net/socket.c:2265 [inline]
__do_sys_sendmsg net/socket.c:2274 [inline]
__se_sys_sendmsg net/socket.c:2272 [inline]
__x64_sys_sendmsg+0x132/0x220 net/socket.c:2272
do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7fbe7639ddb9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 71 15 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fbe7634f308 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007fbe76427428 RCX: 00007fbe7639ddb9
RDX: 0000000000000000 RSI: 0000000020000180 RDI: 0000000000000004
RBP: 00007fbe76427420 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fbe7642742c
R13: 00007fbe763f41a4 R14: 74656e2f7665642f R15: 0000000000022000
Allocated by task 8160:
__do_kmalloc_node mm/slab.c:3689 [inline]
__kmalloc_node+0x4c/0x70 mm/slab.c:3696
kmalloc_node include/linux/slab.h:557 [inline]
kvmalloc_node+0xb4/0xf0 mm/util.c:423
kvmalloc include/linux/mm.h:577 [inline]
kvzalloc include/linux/mm.h:585 [inline]
alloc_netdev_mqs+0x97/0xd50 net/core/dev.c:9152
__tun_chr_ioctl.isra.0+0x2184/0x3d00 drivers/net/tun.c:2628
vfs_ioctl fs/ioctl.c:46 [inline]
file_ioctl fs/ioctl.c:501 [inline]
do_vfs_ioctl+0xcdb/0x12e0 fs/ioctl.c:688
ksys_ioctl+0x9b/0xc0 fs/ioctl.c:705
__do_sys_ioctl fs/ioctl.c:712 [inline]
__se_sys_ioctl fs/ioctl.c:710 [inline]
__x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:710
do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
Freed by task 0:
(stack is not available)
The buggy address belongs to the object at ffff8880afc68840
which belongs to the cache kmalloc-16384 of size 16384
The buggy address is located 168 bytes to the left of
16384-byte region [ffff8880afc68840, ffff8880afc6c840)
The buggy address belongs to the page:
page:ffffea0002bf1a00 count:1 mapcount:0 mapping:ffff88813bff2200 index:0x0 compound_mapcount: 0
flags: 0xfff00000008100(slab|head)
raw: 00fff00000008100 ffffea000253f808 ffff88813bff1c48 ffff88813bff2200
raw: 0000000000000000 ffff8880afc68840 0000000100000001 0000000000000000
page dumped because: kasan: bad access detected
Memory state around the buggy address:
ffff8880afc68680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff8880afc68700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff8880afc68780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
^
ffff8880afc68800: fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 00
ffff8880afc68880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
* Struck through repros no longer work on HEAD.