============================= WARNING: suspicious RCU usage 6.12.0-rc7-syzkaller-g887407160d72 #0 Not tainted ----------------------------- net/sched/sch_generic.c:1290 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by kworker/u8:2/43: #0: ffff0000eb820148 ((wq_completion)bond0#3){+.+.}-{0:0}, at: process_one_work+0x628/0x1600 kernel/workqueue.c:3203 #1: ffff800097fd7c20 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6bc/0x1600 kernel/workqueue.c:3203 #2: ffff80008f9efee0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:336 stack backtrace: CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Not tainted 6.12.0-rc7-syzkaller-g887407160d72 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 lockdep_rcu_suspicious+0x264/0x46c kernel/locking/lockdep.c:6821 dev_deactivate_queue+0xb0/0x190 net/sched/sch_generic.c:1290 netdev_for_each_tx_queue include/linux/netdevice.h:2504 [inline] dev_deactivate_many+0xd4/0xa8c net/sched/sch_generic.c:1363 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 ============================= WARNING: suspicious RCU usage 6.12.0-rc7-syzkaller-g887407160d72 #0 Not tainted ----------------------------- include/linux/rtnetlink.h:100 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by kworker/u8:2/43: #0: ffff0000eb820148 ((wq_completion)bond0#3){+.+.}-{0:0}, at: process_one_work+0x628/0x1600 kernel/workqueue.c:3203 #1: ffff800097fd7c20 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6bc/0x1600 kernel/workqueue.c:3203 #2: ffff80008f9efee0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:336 stack backtrace: CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Not tainted 6.12.0-rc7-syzkaller-g887407160d72 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 lockdep_rcu_suspicious+0x264/0x46c kernel/locking/lockdep.c:6821 dev_ingress_queue include/linux/rtnetlink.h:100 [inline] dev_deactivate_many+0x1ac/0xa8c net/sched/sch_generic.c:1365 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 BUG: sleeping function called from invalid context at net/core/dev.c:11284 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 43, name: kworker/u8:2 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 3 locks held by kworker/u8:2/43: #0: ffff0000eb820148 ((wq_completion)bond0#3){+.+.}-{0:0}, at: process_one_work+0x628/0x1600 kernel/workqueue.c:3203 #1: ffff800097fd7c20 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6bc/0x1600 kernel/workqueue.c:3203 #2: ffff80008f9efee0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:336 CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Not tainted 6.12.0-rc7-syzkaller-g887407160d72 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 __might_resched+0x374/0x4d0 kernel/sched/core.c:8653 __might_sleep+0x90/0xe4 kernel/sched/core.c:8582 synchronize_net+0x24/0x60 net/core/dev.c:11284 dev_deactivate_many+0x4a8/0xa8c net/sched/sch_generic.c:1377 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 ============================= WARNING: suspicious RCU usage 6.12.0-rc7-syzkaller-g887407160d72 #0 Tainted: G W ----------------------------- kernel/rcu/tree_exp.h:949 Illegal synchronize_rcu_expedited() in RCU read-side critical section! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by kworker/u8:2/43: #0: ffff0000eb820148 ((wq_completion)bond0#3){+.+.}-{0:0}, at: process_one_work+0x628/0x1600 kernel/workqueue.c:3203 #1: ffff800097fd7c20 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6bc/0x1600 kernel/workqueue.c:3203 #2: ffff80008f9efee0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:336 stack backtrace: CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Tainted: G W 6.12.0-rc7-syzkaller-g887407160d72 #0 Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 lockdep_rcu_suspicious+0x264/0x46c kernel/locking/lockdep.c:6821 synchronize_rcu_expedited+0x12c/0x674 kernel/rcu/tree_exp.h:946 synchronize_net+0x44/0x60 net/core/dev.c:11286 dev_deactivate_many+0x4a8/0xa8c net/sched/sch_generic.c:1377 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 ============================= [ BUG: Invalid wait context ] 6.12.0-rc7-syzkaller-g887407160d72 #0 Tainted: G W ----------------------------- kworker/u8:2/43 is trying to lock: ffff80008f9f5438 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:329 [inline] ffff80008f9f5438 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x324/0x674 kernel/rcu/tree_exp.h:976 other info that might help us debug this: context-{4:4} 3 locks held by kworker/u8:2/43: #0: ffff0000eb820148 ((wq_completion)bond0#3){+.+.}-{0:0}, at: process_one_work+0x628/0x1600 kernel/workqueue.c:3203 #1: ffff800097fd7c20 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6bc/0x1600 kernel/workqueue.c:3203 #2: ffff80008f9efee0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:336 stack backtrace: CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Tainted: G W 6.12.0-rc7-syzkaller-g887407160d72 #0 Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:484 (C) __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:120 dump_stack+0x1c/0x28 lib/dump_stack.c:129 print_lock_invalid_wait_context kernel/locking/lockdep.c:4802 [inline] check_wait_context kernel/locking/lockdep.c:4874 [inline] __lock_acquire+0x1f40/0x77c8 kernel/locking/lockdep.c:5152 lock_acquire+0x240/0x728 kernel/locking/lockdep.c:5825 __mutex_lock_common+0x190/0x21a0 kernel/locking/mutex.c:608 __mutex_lock kernel/locking/mutex.c:752 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804 exp_funnel_lock kernel/rcu/tree_exp.h:329 [inline] synchronize_rcu_expedited+0x324/0x674 kernel/rcu/tree_exp.h:976 synchronize_net+0x44/0x60 net/core/dev.c:11286 dev_deactivate_many+0x4a8/0xa8c net/sched/sch_generic.c:1377 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 ------------[ cut here ]------------ Voluntary context switch within RCU read-side critical section! WARNING: CPU: 0 PID: 43 at kernel/rcu/tree_plugin.h:331 rcu_note_context_switch+0xb84/0x101c kernel/rcu/tree_plugin.h:331 Modules linked in: CPU: 0 UID: 0 PID: 43 Comm: kworker/u8:2 Tainted: G W 6.12.0-rc7-syzkaller-g887407160d72 #0 Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: bond0 bond_mii_monitor pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : rcu_note_context_switch+0xb84/0x101c kernel/rcu/tree_plugin.h:331 lr : rcu_note_context_switch+0xb84/0x101c kernel/rcu/tree_plugin.h:331 sp : ffff800097fd6e30 x29: ffff800097fd6ec0 x28: dfff800000000000 x27: 1ffff00011f020ba x26: 0000000000000000 x25: ffff80008f774900 x24: 0000000000000000 x23: dfff800000000000 x22: ffff800123ed7000 x21: ffff0000c1ba3c80 x20: ffff0000c1ba4084 x19: ffff0000c1ba3c80 x18: 0000000000000008 x17: 0000000000000000 x16: ffff80008b3eab5c x15: ffff700011f11534 x14: 1ffff00011f11534 x13: 0000000000000004 x12: ffffffffffffffff x11: 0000000000000003 x10: 0000000000ff0100 x9 : 1b348dcfee67ae00 x8 : 1b348dcfee67ae00 x7 : 0000000000000001 x6 : 0000000000000001 x5 : ffff800097fd6558 x4 : ffff80008f8fd220 x3 : ffff8000803921b4 x2 : 0000000000000000 x1 : 0000000000000001 x0 : 0000000000000000 Call trace: rcu_note_context_switch+0xb84/0x101c kernel/rcu/tree_plugin.h:331 (P) rcu_note_context_switch+0xb84/0x101c kernel/rcu/tree_plugin.h:331 (L) __schedule+0x2c8/0x27d0 kernel/sched/core.c:6570 __schedule_loop kernel/sched/core.c:6767 [inline] schedule+0xbc/0x238 kernel/sched/core.c:6782 schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6839 mutex_optimistic_spin+0x2e0/0x49c kernel/locking/mutex.c:510 __mutex_lock_common+0x1bc/0x21a0 kernel/locking/mutex.c:612 __mutex_lock kernel/locking/mutex.c:752 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804 exp_funnel_lock kernel/rcu/tree_exp.h:329 [inline] synchronize_rcu_expedited+0x324/0x674 kernel/rcu/tree_exp.h:976 synchronize_net+0x44/0x60 net/core/dev.c:11286 dev_deactivate_many+0x4a8/0xa8c net/sched/sch_generic.c:1377 dev_deactivate+0x13c/0x1fc net/sched/sch_generic.c:1403 linkwatch_do_dev+0x100/0x1a8 net/core/link_watch.c:175 linkwatch_sync_dev+0x150/0x16c net/core/link_watch.c:263 ethtool_op_get_link+0x20/0x5c net/ethtool/ioctl.c:62 bond_check_dev_link+0x1ac/0x370 drivers/net/bonding/bond_main.c:873 bond_miimon_inspect drivers/net/bonding/bond_main.c:2717 [inline] bond_mii_monitor+0x3d8/0x28b4 drivers/net/bonding/bond_main.c:2939 process_one_work+0x7bc/0x1600 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x97c/0xeec kernel/workqueue.c:3391 kthread+0x288/0x310 kernel/kthread.c:389 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862 irq event stamp: 1833777 hardirqs last enabled at (1833777): [] raw_spin_rq_unlock_irq kernel/sched/sched.h:1517 [inline] hardirqs last enabled at (1833777): [] finish_lock_switch+0xbc/0x1e4 kernel/sched/core.c:5082 hardirqs last disabled at (1833776): [] __schedule+0x2bc/0x27d0 kernel/sched/core.c:6569 softirqs last enabled at (1833774): [] softirq_handle_end kernel/softirq.c:400 [inline] softirqs last enabled at (1833774): [] handle_softirqs+0xa38/0xbf8 kernel/softirq.c:582 softirqs last disabled at (1833629): [] __do_softirq+0x14/0x20 kernel/softirq.c:588 ---[ end trace 0000000000000000 ]---