syzbot


BUG: soft lockup in tcp_setsockopt

Status: premoderation: reported on 2024/05/03 04:47
Reported-by: syzbot+e71f56fa0323f5c8a04b@syzkaller.appspotmail.com
First crash: 77d, last: 77d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 INFO: rcu detected stall in tcp_setsockopt 1 22d 22d 0/3 upstream: reported on 2024/06/27 09:05
upstream INFO: rcu detected stall in tcp_setsockopt netfilter syz error 4 199d 324d 0/27 upstream: reported syz repro on 2023/08/29 09:38

Sample crash report:
watchdog: BUG: soft lockup - CPU#1 stuck for 123s! [syz-executor.4:6468]
Modules linked in:
CPU: 1 PID: 6468 Comm: syz-executor.4 Not tainted 5.15.149-syzkaller-00490-g5d96939590c0 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
RIP: 0010:arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
RIP: 0010:kvm_wait+0x147/0x180 arch/x86/kernel/kvm.c:918
Code: 4c 89 e8 48 c1 e8 03 42 0f b6 04 20 84 c0 44 8b 74 24 1c 75 34 41 0f b6 45 00 44 38 f0 75 10 66 90 0f 00 2d 5b 03 f3 03 fb f4 <e9> 24 ff ff ff fb e9 1e ff ff ff 44 89 e9 80 e1 07 38 c1 7c a3 4c
RSP: 0018:ffffc900009d6880 EFLAGS: 00000246
RAX: 0000000000000003 RBX: 1ffff9200013ad14 RCX: ffffffff8154fa7f
RDX: dffffc0000000000 RSI: 0000000000000003 RDI: ffff888114a18018
RBP: ffffc900009d6930 R08: dffffc0000000000 R09: ffffed1022943004
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffff888114a18018 R14: 0000000000000003 R15: 1ffff9200013ad18
FS:  0000555555b4e480(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f02ce211978 CR3: 000000011af71000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 </IRQ>
 <TASK>
 pv_wait arch/x86/include/asm/paravirt.h:597 [inline]
 pv_wait_head_or_lock kernel/locking/qspinlock_paravirt.h:470 [inline]
 __pv_queued_spin_lock_slowpath+0x6bc/0xc40 kernel/locking/qspinlock.c:508
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:585 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:85 [inline]
 do_raw_spin_lock include/linux/spinlock.h:187 [inline]
 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:136 [inline]
 _raw_spin_lock_bh+0x139/0x1b0 kernel/locking/spinlock.c:178
 sock_hash_delete_elem+0xb1/0x2f0 net/core/sock_map.c:937
 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4e4
 bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline]
 __bpf_prog_run include/linux/filter.h:625 [inline]
 bpf_prog_run include/linux/filter.h:632 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline]
 bpf_trace_run2+0xec/0x210 kernel/trace/bpf_trace.c:1920
 __bpf_trace_kfree+0x6f/0x90 include/trace/events/kmem.h:118
 trace_kfree include/trace/events/kmem.h:118 [inline]
 kfree+0x1f3/0x220 mm/slub.c:4569
 sk_psock_free_link include/linux/skmsg.h:420 [inline]
 sock_map_del_link net/core/sock_map.c:160 [inline]
 sock_map_unref+0x352/0x4d0 net/core/sock_map.c:182
 sock_hash_delete_elem+0x274/0x2f0 net/core/sock_map.c:941
 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4e4
 bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline]
 __bpf_prog_run include/linux/filter.h:625 [inline]
 bpf_prog_run include/linux/filter.h:632 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline]
 bpf_trace_run2+0xec/0x210 kernel/trace/bpf_trace.c:1920
 __bpf_trace_kfree+0x6f/0x90 include/trace/events/kmem.h:118
 trace_kfree include/trace/events/kmem.h:118 [inline]
 kfree+0x1f3/0x220 mm/slub.c:4569
 kvfree+0x35/0x40 mm/util.c:664
 translate_table+0x1272/0x2320 net/ipv6/netfilter/ip6_tables.c:730
 do_replace net/ipv6/netfilter/ip6_tables.c:1152 [inline]
 do_ip6t_set_ctl+0x2cf7/0x3f50 net/ipv6/netfilter/ip6_tables.c:1638
 nf_setsockopt+0x274/0x2a0 net/netfilter/nf_sockopt.c:101
 ipv6_setsockopt+0x2a07/0x4240 net/ipv6/ipv6_sockglue.c:1011
 tcp_setsockopt+0x22d/0x3800 net/ipv4/tcp.c:3699
 sock_common_setsockopt+0xa2/0xc0 net/core/sock.c:3448
 __sys_setsockopt+0x4dc/0x840 net/socket.c:2198
 __do_sys_setsockopt net/socket.c:2209 [inline]
 __se_sys_setsockopt net/socket.c:2206 [inline]
 __x64_sys_setsockopt+0xbf/0xd0 net/socket.c:2206
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f02ce115a7a
Code: ff ff ff c3 0f 1f 40 00 48 c7 c2 b0 ff ff ff f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 49 89 ca b8 36 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 06 c3 0f 1f 44 00 00 48 c7 c2 b0 ff ff ff f7
RSP: 002b:00007ffde9228ca8 EFLAGS: 00000206 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 00007ffde9228d30 RCX: 00007f02ce115a7a
RDX: 0000000000000040 RSI: 0000000000000029 RDI: 0000000000000003
RBP: 0000000000000003 R08: 0000000000000558 R09: 0079746972756365
R10: 00007f02ce211920 R11: 0000000000000206 R12: 00007f02ce2118c0
R13: 00007ffde9228ccc R14: 0000000000000000 R15: 00007f02ce212d00
 </TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 100 Comm: udevd Not tainted 5.15.149-syzkaller-00490-g5d96939590c0 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
RIP: 0010:arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
RIP: 0010:kvm_wait+0x147/0x180 arch/x86/kernel/kvm.c:918
Code: 4c 89 e8 48 c1 e8 03 42 0f b6 04 20 84 c0 44 8b 74 24 1c 75 34 41 0f b6 45 00 44 38 f0 75 10 66 90 0f 00 2d 5b 03 f3 03 fb f4 <e9> 24 ff ff ff fb e9 1e ff ff ff 44 89 e9 80 e1 07 38 c1 7c a3 4c
RSP: 0018:ffffc900000067a0 EFLAGS: 00000246
RAX: 0000000000000001 RBX: 1ffff92000000cf8 RCX: 1ffffffff0d1aa9c
RDX: 0000000000000001 RSI: 0000000000000001 RDI: ffff8881f7037ed4
RBP: ffffc90000006850 R08: dffffc0000000000 R09: ffffed103ee06fdb
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffff8881f7037ed4 R14: 0000000000000001 R15: 1ffff92000000cfc
FS:  00007f279dee9c80(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2f422000 CR3: 000000010cd63000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 pv_wait arch/x86/include/asm/paravirt.h:597 [inline]
 pv_wait_node kernel/locking/qspinlock_paravirt.h:325 [inline]
 __pv_queued_spin_lock_slowpath+0x41b/0xc40 kernel/locking/qspinlock.c:473
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:585 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:85 [inline]
 do_raw_spin_lock include/linux/spinlock.h:187 [inline]
 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:136 [inline]
 _raw_spin_lock_bh+0x139/0x1b0 kernel/locking/spinlock.c:178
 sock_hash_delete_elem+0xb1/0x2f0 net/core/sock_map.c:937
 bpf_prog_2c29ac5cdc6b1842+0x3a/0x4e4
 bpf_dispatcher_nop_func include/linux/bpf.h:785 [inline]
 __bpf_prog_run include/linux/filter.h:625 [inline]
 bpf_prog_run include/linux/filter.h:632 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:1883 [inline]
 bpf_trace_run2+0xec/0x210 kernel/trace/bpf_trace.c:1920
 __bpf_trace_kfree+0x6f/0x90 include/trace/events/kmem.h:118
 trace_kfree include/trace/events/kmem.h:118 [inline]
 kfree+0x1f3/0x220 mm/slub.c:4569
 skb_free_head net/core/skbuff.c:656 [inline]
 skb_release_data+0x8a9/0xa80 net/core/skbuff.c:678
 skb_release_all net/core/skbuff.c:743 [inline]
 __kfree_skb+0x50/0x70 net/core/skbuff.c:757
 sk_wmem_free_skb include/net/sock.h:1634 [inline]
 tcp_rtx_queue_unlink_and_free+0x203/0x720 include/net/tcp.h:1907
 tcp_clean_rtx_queue net/ipv4/tcp_input.c:3343 [inline]
 tcp_ack+0x23e0/0x68a0 net/ipv4/tcp_input.c:3900
 tcp_rcv_established+0xcd6/0x1ac0 net/ipv4/tcp_input.c:5904
 tcp_v4_do_rcv+0x3d7/0xa00 net/ipv4/tcp_ipv4.c:1722
 tcp_v4_rcv+0x23dd/0x2a70 net/ipv4/tcp_ipv4.c:2125
 ip_protocol_deliver_rcu+0x32f/0x710 net/ipv4/ip_input.c:204
 ip_local_deliver_finish net/ipv4/ip_input.c:231 [inline]
 NF_HOOK include/linux/netfilter.h:305 [inline]
 ip_local_deliver+0x2c6/0x590 net/ipv4/ip_input.c:252
 dst_input include/net/dst.h:454 [inline]
 ip_sublist_rcv_finish net/ipv4/ip_input.c:577 [inline]
 ip_list_rcv_finish net/ipv4/ip_input.c:628 [inline]
 ip_sublist_rcv+0x7e2/0x980 net/ipv4/ip_input.c:636
 ip_list_rcv+0x422/0x470 net/ipv4/ip_input.c:671
 __netif_receive_skb_list_ptype net/core/dev.c:5535 [inline]
 __netif_receive_skb_list_core+0x6b1/0x890 net/core/dev.c:5583
 __netif_receive_skb_list net/core/dev.c:5635 [inline]
 netif_receive_skb_list_internal+0x967/0xcc0 net/core/dev.c:5726
 gro_normal_list net/core/dev.c:5880 [inline]
 napi_complete_done+0x344/0x770 net/core/dev.c:6618
 virtqueue_napi_complete drivers/net/virtio_net.c:357 [inline]
 virtnet_poll+0xbee/0x1260 drivers/net/virtio_net.c:1592
 __napi_poll+0xc4/0x5a0 net/core/dev.c:7042
 napi_poll net/core/dev.c:7109 [inline]
 net_rx_action+0x47d/0xc50 net/core/dev.c:7196
 __do_softirq+0x26d/0x5bf kernel/softirq.c:565
 invoke_softirq kernel/softirq.c:425 [inline]
 __irq_exit_rcu+0x50/0xf0 kernel/softirq.c:648
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:660
 common_interrupt+0xb4/0xd0 arch/x86/kernel/irq.c:240
 </IRQ>
 <TASK>
 asm_common_interrupt+0x27/0x40 arch/x86/include/asm/idtentry.h:629
RIP: 0010:bytes_is_nonzero mm/kasan/generic.c:84 [inline]
RIP: 0010:memory_is_nonzero mm/kasan/generic.c:102 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:128 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:159 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
RIP: 0010:kasan_check_range+0x78/0x2a0 mm/kasan/generic.c:189
Code: 54 37 ff 49 c1 ea 03 49 bb 01 00 00 00 00 fc ff df 4f 8d 34 1a 4d 89 f5 4d 29 cd 49 83 fd 10 7f 26 4d 85 ed 0f 84 44 01 00 00 <49> f7 d2 4d 01 e2 41 80 39 00 0f 85 d2 01 00 00 49 ff c1 49 ff c2
RSP: 0018:ffffc900009f7c58 EFLAGS: 00000202
RAX: 1ffff110218ef801 RBX: 000000000001ffff RCX: ffffffff8154b6d3
RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff888100059d68
RBP: ffffc900009f7c80 R08: dffffc0000000000 R09: ffffed102000b3ad
R10: 1ffff1102000b3ad R11: dffffc0000000001 R12: 1ffff1102000b3ad
R13: 0000000000000001 R14: ffffed102000b3ae R15: 0000000000008124
 __kasan_check_write+0x14/0x20 mm/kasan/shadow.c:37
 instrument_atomic_read_write include/linux/instrumented.h:101 [inline]
 atomic_long_add_return_release include/linux/atomic/atomic-instrumented.h:1232 [inline]
 __up_read kernel/locking/rwsem.c:1376 [inline]
 up_read+0x23/0x170 kernel/locking/rwsem.c:1645
 kernfs_fop_readdir+0x4f2/0x760 fs/kernfs/dir.c:1775
 iterate_dir+0x265/0x610
 __do_sys_getdents64 fs/readdir.c:369 [inline]
 __se_sys_getdents64+0x1c1/0x460 fs/readdir.c:354
 __x64_sys_getdents64+0x7b/0x90 fs/readdir.c:354
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f279dff7910
Code: 87 43 04 ff c8 7e 08 48 89 ef e8 4d 0e fc ff 4c 89 e0 5b 5d 41 5c c3 b8 ff ff ff 7f 48 39 c2 48 0f 47 d0 b8 d9 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 10 48 8b 15 e9 74 0f 00 f7 d8 64 89 02 48 83
RSP: 002b:00007ffcfe6866d8 EFLAGS: 00000293 ORIG_RAX: 00000000000000d9
RAX: ffffffffffffffda RBX: 000055f5ab97ffb0 RCX: 00007f279dff7910
RDX: 0000000000008000 RSI: 000055f5ab97ffe0 RDI: 000000000000000d
RBP: 000055f5ab97ffb4 R08: 000055f5ab97ffb0 R09: 0000000001000000
R10: 0000000000000812 R11: 0000000000000293 R12: 000055f5ab863f50
R13: fffffffffffffe60 R14: 0000000000000002 R15: 000055f5ab97ffe0
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/05/03 04:46 android13-5.15-lts 5d96939590c0 ddfc15a1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-15-perf BUG: soft lockup in tcp_setsockopt
* Struck through repros no longer work on HEAD.