================================================================== BUG: KCSAN: data-race in insert_work / wq_worker_running read-write to 0xffff888237d2a7e0 of 4 bytes by task 25 on cpu 1: wq_worker_running+0x96/0xe0 kernel/workqueue.c:880 schedule_timeout+0xc1/0x290 kernel/time/timer.c:1935 schedule_timeout_uninterruptible kernel/time/timer.c:1969 [inline] msleep+0x57/0x70 kernel/time/timer.c:2091 nsim_fib6_rt_add drivers/net/netdevsim/fib.c:691 [inline] nsim_fib6_rt_insert drivers/net/netdevsim/fib.c:757 [inline] nsim_fib6_event drivers/net/netdevsim/fib.c:854 [inline] nsim_fib_event drivers/net/netdevsim/fib.c:887 [inline] nsim_fib_event_work+0x2776/0x2c30 drivers/net/netdevsim/fib.c:1478 process_one_work+0x3d3/0x720 kernel/workqueue.c:2289 worker_thread+0x618/0xa70 kernel/workqueue.c:2436 kthread+0x1a9/0x1e0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 read to 0xffff888237d2a7e0 of 4 bytes by task 1920 on cpu 0: __need_more_worker kernel/workqueue.c:785 [inline] insert_work+0x10e/0x190 kernel/workqueue.c:1365 __queue_work+0x69e/0x8e0 kernel/workqueue.c:1517 queue_work_on+0x7e/0xe0 kernel/workqueue.c:1545 queue_work include/linux/workqueue.h:502 [inline] schedule_work include/linux/workqueue.h:563 [inline] nsim_fib_event_schedule_work drivers/net/netdevsim/fib.c:1003 [inline] nsim_fib_event_nb+0x9f1/0xc30 drivers/net/netdevsim/fib.c:1029 notifier_call_chain kernel/notifier.c:87 [inline] atomic_notifier_call_chain+0x63/0xd0 kernel/notifier.c:225 call_fib_notifiers+0x62/0x90 net/core/fib_notifier.c:35 call_fib6_notifiers+0x2e/0x40 net/ipv6/fib6_notifier.c:22 call_fib6_entry_notifiers net/ipv6/ip6_fib.c:402 [inline] fib6_add_rt2node net/ipv6/ip6_fib.c:1224 [inline] fib6_add+0xf43/0x1f50 net/ipv6/ip6_fib.c:1478 __ip6_ins_rt net/ipv6/route.c:1302 [inline] ip6_ins_rt+0x74/0xb0 net/ipv6/route.c:1312 __ipv6_ifa_notify+0x36f/0x8a0 net/ipv6/addrconf.c:6149 ipv6_ifa_notify net/ipv6/addrconf.c:6188 [inline] addrconf_dad_completed+0xdf/0x8d0 net/ipv6/addrconf.c:4205 addrconf_dad_work+0x85e/0xb80 process_one_work+0x3d3/0x720 kernel/workqueue.c:2289 worker_thread+0x618/0xa70 kernel/workqueue.c:2436 kthread+0x1a9/0x1e0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 value changed: 0x00000000 -> 0x00000001 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 1920 Comm: kworker/0:5 Not tainted 5.19.0-rc7-syzkaller-00139-g4ba1329cbb94-dirty #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 Workqueue: ipv6_addrconf addrconf_dad_work ================================================================== IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready