================================================================== BUG: KCSAN: data-race in do_select / pollwake read to 0xffffc900012a3a00 of 4 bytes by task 10806 on cpu 0: 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+0xe7b/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:271 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f write to 0xffffc900012a3a00 of 4 bytes by interrupt on cpu 1: __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:152 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+0x2f/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:95 [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:459 [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:513 [inline] bpf_ringbuf_discard+0xcd/0xf0 kernel/bpf/ringbuf.c:511 ___bpf_prog_run+0x9ab/0x46c0 kernel/bpf/core.c:1997 __bpf_prog_run32+0x74/0xa0 kernel/bpf/core.c:2236 bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline] __bpf_prog_run include/linux/filter.h:657 [inline] bpf_prog_run include/linux/filter.h:664 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline] bpf_trace_run2+0x97/0x150 kernel/trace/bpf_trace.c:2420 trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x1e7/0x270 mm/slub.c:4377 kfree_const+0x3d/0x50 mm/util.c:41 kernfs_free_rcu+0x23/0xb0 fs/kernfs/dir.c:536 rcu_do_batch kernel/rcu/tree.c:2196 [inline] rcu_core+0x594/0xbf0 kernel/rcu/tree.c:2471 rcu_core_si+0xd/0x20 kernel/rcu/tree.c:2488 __do_softirq+0xc8/0x285 kernel/softirq.c:554 do_softirq+0x5e/0x90 kernel/softirq.c:455 __local_bh_enable_ip+0x6e/0x70 kernel/softirq.c:382 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline] _raw_spin_unlock_bh+0x36/0x40 kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] batadv_nc_purge_paths+0x21d/0x270 net/batman-adv/network-coding.c:471 batadv_nc_worker+0x3db/0xac0 net/batman-adv/network-coding.c:720 process_one_work kernel/workqueue.c:3254 [inline] process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335 worker_thread+0x526/0x730 kernel/workqueue.c:3416 kthread+0x1d1/0x210 kernel/kthread.c:388 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 value changed: 0x00000001 -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 39 Comm: kworker/u8:2 Tainted: G W 6.9.0-rc5-syzkaller-00159-gc942a0cd3603 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Workqueue: bat_events batadv_nc_worker ==================================================================