syzbot


KCSAN: data-race in do_select / pollwake (2)

Status: moderation: reported on 2023/12/09 00:09
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+98a4e3481a6349deaf03@syzkaller.appspotmail.com
First crash: 413d, last: 9h00m
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in do_select / pollwake fs 2554 453d 1475d 0/27 auto-obsoleted due to no activity on 2023/05/29 14:18

Sample crash report:
==================================================================
BUG: KCSAN: data-race in do_select / pollwake

write to 0xffffc90000e6ba00 of 4 bytes by interrupt on cpu 0:
 __pollwake fs/select.c:198 [inline]
 pollwake+0xbe/0x110 fs/select.c:218
 __wake_up_common kernel/sched/wait.c:89 [inline]
 __wake_up_common_lock kernel/sched/wait.c:106 [inline]
 __wake_up+0x65/0xb0 kernel/sched/wait.c:127
 bpf_ringbuf_notify+0x22/0x30 kernel/bpf/ringbuf.c:154
 irq_work_single kernel/irq_work.c:221 [inline]
 irq_work_run_list kernel/irq_work.c:252 [inline]
 irq_work_run+0xdf/0x2c0 kernel/irq_work.c:261
 __sysvec_irq_work+0x23/0x1a0 arch/x86/kernel/irq_work.c:22
 instr_sysvec_irq_work arch/x86/kernel/irq_work.c:17 [inline]
 sysvec_irq_work+0x66/0x80 arch/x86/kernel/irq_work.c:17
 asm_sysvec_irq_work+0x1a/0x20 arch/x86/include/asm/idtentry.h:738
 native_apic_mem_write arch/x86/include/asm/apic.h:96 [inline]
 __default_send_IPI_shortcut arch/x86/kernel/apic/ipi.c:166 [inline]
 default_send_IPI_self+0x38/0x80 arch/x86/kernel/apic/ipi.c:247
 __apic_send_IPI_self arch/x86/include/asm/apic.h:460 [inline]
 arch_irq_work_raise+0x48/0x50 arch/x86/kernel/irq_work.c:31
 irq_work_raise kernel/irq_work.c:84 [inline]
 __irq_work_queue_local+0x82/0x1d0 kernel/irq_work.c:112
 irq_work_queue+0x85/0x120 kernel/irq_work.c:124
 ____bpf_ringbuf_discard kernel/bpf/ringbuf.c:532 [inline]
 bpf_ringbuf_discard+0xcd/0xf0 kernel/bpf/ringbuf.c:530
 ___bpf_prog_run+0x9ab/0x46c0 kernel/bpf/core.c:2010
 __bpf_prog_run32+0x74/0xa0 kernel/bpf/core.c:2251
 bpf_dispatcher_nop_func include/linux/bpf.h:1243 [inline]
 __bpf_prog_run include/linux/filter.h:691 [inline]
 bpf_prog_run include/linux/filter.h:698 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2406 [inline]
 bpf_trace_run3+0x10c/0x1d0 kernel/trace/bpf_trace.c:2448
 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline]
 kmem_cache_free+0x1fe/0x280 mm/slub.c:4538
 skb_kfree_head net/core/skbuff.c:1082 [inline]
 skb_free_head net/core/skbuff.c:1096 [inline]
 skb_release_data+0x4c1/0x5a0 net/core/skbuff.c:1123
 skb_release_all net/core/skbuff.c:1188 [inline]
 __kfree_skb+0x42/0x150 net/core/skbuff.c:1202
 consume_skb+0x57/0x180 net/core/skbuff.c:1426
 netlink_broadcast_filtered+0xae4/0xbe0 net/netlink/af_netlink.c:1542
 nlmsg_multicast_filtered include/net/netlink.h:1125 [inline]
 nlmsg_multicast include/net/netlink.h:1144 [inline]
 nlmsg_notify+0xca/0x170 net/netlink/af_netlink.c:2593
 rtnl_notify+0x76/0x90 net/core/rtnetlink.c:757
 inet6_netconf_notify_devconf+0x151/0x1c0 net/ipv6/addrconf.c:601
 __addrconf_sysctl_unregister net/ipv6/addrconf.c:7250 [inline]
 addrconf_sysctl_unregister net/ipv6/addrconf.c:7274 [inline]
 addrconf_ifdown+0xd7f/0xf20 net/ipv6/addrconf.c:4009
 addrconf_notify+0x2ff/0x950
 notifier_call_chain kernel/notifier.c:93 [inline]
 raw_notifier_call_chain+0x6f/0x1d0 kernel/notifier.c:461
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:1994
 call_netdevice_notifiers_extack net/core/dev.c:2032 [inline]
 call_netdevice_notifiers net/core/dev.c:2046 [inline]
 unregister_netdevice_many_notify+0x834/0x1110 net/core/dev.c:11343
 unregister_netdevice_many net/core/dev.c:11405 [inline]
 unregister_netdevice_queue+0x1f4/0x220 net/core/dev.c:11280
 unregister_netdevice include/linux/netdevice.h:3129 [inline]
 ppp_release+0xa2/0x150 drivers/net/ppp/ppp_generic.c:410
 __fput+0x192/0x6f0 fs/file_table.c:422
 ____fput+0x15/0x20 fs/file_table.c:450
 task_work_run+0x13a/0x1a0 kernel/task_work.c:222
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0xbe/0x130 kernel/entry/common.c:218
 do_syscall_64+0xd6/0x1c0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffc90000e6ba00 of 4 bytes by task 4034 on cpu 1:
 poll_schedule_timeout fs/select.c:243 [inline]
 do_select+0xeb0/0xfa0 fs/select.c:607
 core_sys_select+0x362/0x530 fs/select.c:681
 do_pselect fs/select.c:763 [inline]
 __do_sys_pselect6 fs/select.c:804 [inline]
 __se_sys_pselect6+0x213/0x280 fs/select.c:795
 __x64_sys_pselect6+0x78/0x90 fs/select.c:795
 x64_sys_call+0x1c21/0x2e00 arch/x86/include/generated/asm/syscalls_64.h:271
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000 -> 0x00000001

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 4034 Comm: syz.3.286 Not tainted 6.10.0-syzkaller-10729-g3c3ff7be9729 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024
==================================================================

Crashes (661):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/07/20 07:57 upstream 3c3ff7be9729 b88348e9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/20 07:56 upstream 3c3ff7be9729 b88348e9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/19 18:57 upstream 4305ca0087dd 890ce4f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/19 16:32 upstream 720261cfc732 890ce4f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/19 02:49 upstream 720261cfc732 ee4e11c8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/18 12:52 upstream b1bc554e009e 71884c12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/18 09:32 upstream b1bc554e009e 0f902625 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/17 20:10 upstream 51835949dda3 0f902625 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/17 16:44 upstream 51835949dda3 215bec2d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/17 04:04 upstream 0434dbe32053 215bec2d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/16 13:24 upstream d67978318827 b66b37bd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/16 10:14 upstream d67978318827 e8709b21 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/15 19:41 upstream 5e0497553643 e8709b21 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/15 17:42 upstream 5e0497553643 c605e6a2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/15 06:59 upstream 0c3836482481 c605e6a2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/15 01:20 upstream 0c3836482481 eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/14 11:09 upstream 4d145e3f830b eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/13 02:14 upstream 528dd46d0fc3 eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/12 09:32 upstream 43db1e03c086 eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/11 20:14 upstream 8a18fda0febb eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/11 18:43 upstream 9d9a2f29aefd eaeb5c15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/11 06:26 upstream 9d9a2f29aefd c699c2eb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/10 16:28 upstream 34afb82a3c67 6f7fa383 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/10 02:08 upstream 34afb82a3c67 bc144f9a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/09 16:16 upstream 34afb82a3c67 79d68ada .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/09 12:56 upstream 4376e966ecb7 79d68ada .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/09 00:59 upstream 4376e966ecb7 bc23a442 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/08 23:23 upstream 4376e966ecb7 cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/08 23:21 upstream 4376e966ecb7 cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/08 12:12 upstream 256abd8e550c cde64f7d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/08 02:06 upstream 256abd8e550c 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/07 13:14 upstream c6653f49e4fd 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/06 23:25 upstream 22f902dfc51e 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/06 09:49 upstream 1dd28064d416 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/05 20:26 upstream d270dd21bee0 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/05 09:25 upstream 661e504db04c 2a40360c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/04 21:54 upstream 661e504db04c 3f2748a3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/04 09:29 upstream 795c58e4c7fc 3f2748a3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/03 18:26 upstream 8a9c6c40432e f76a75f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/03 18:26 upstream 8a9c6c40432e f76a75f3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/03 04:24 upstream e9d22f7a6655 1ecfa2d8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2024/07/03 00:16 upstream e9d22f7a6655 07f0a0a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
2023/11/16 21:16 upstream 7475e51b8796 cb976f63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in do_select / pollwake
* Struck through repros no longer work on HEAD.