============================= WARNING: suspicious RCU usage 6.15.0-rc1-syzkaller #0 Not tainted ----------------------------- net/sched/sch_generic.c:1285 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:17/6121: #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_scheduled_works+0x990/0x18e0 kernel/workqueue.c:3319 #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9cb/0x18e0 kernel/workqueue.c:3319 #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: bond_mii_monitor+0x17f/0x3170 drivers/net/bonding/bond_main.c:2954 stack backtrace: CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Not tainted 6.15.0-rc1-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x175/0x200 kernel/locking/lockdep.c:6865 dev_deactivate_queue+0x8f/0x1b0 net/sched/sch_generic.c:1285 netdev_for_each_tx_queue include/linux/netdevice.h:2650 [inline] dev_deactivate_many+0x14c/0xca0 net/sched/sch_generic.c:1361 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ============================= WARNING: suspicious RCU usage 6.15.0-rc1-syzkaller #0 Not tainted ----------------------------- ./include/linux/rtnetlink.h:163 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:17/6121: #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_scheduled_works+0x990/0x18e0 kernel/workqueue.c:3319 #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9cb/0x18e0 kernel/workqueue.c:3319 #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: bond_mii_monitor+0x17f/0x3170 drivers/net/bonding/bond_main.c:2954 stack backtrace: CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Not tainted 6.15.0-rc1-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x175/0x200 kernel/locking/lockdep.c:6865 dev_ingress_queue include/linux/rtnetlink.h:163 [inline] dev_deactivate_many+0x228/0xca0 net/sched/sch_generic.c:1363 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 BUG: sleeping function called from invalid context at net/core/dev.c:11837 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 6121, name: kworker/u8:17 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 3 locks held by kworker/u8:17/6121: #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_scheduled_works+0x990/0x18e0 kernel/workqueue.c:3319 #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9cb/0x18e0 kernel/workqueue.c:3319 #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: bond_mii_monitor+0x17f/0x3170 drivers/net/bonding/bond_main.c:2954 CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Not tainted 6.15.0-rc1-syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 __might_resched+0x558/0x6c0 kernel/sched/core.c:8818 synchronize_net+0x1b/0x90 net/core/dev.c:11837 dev_deactivate_many+0x565/0xca0 net/sched/sch_generic.c:1372 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ============================= WARNING: suspicious RCU usage 6.15.0-rc1-syzkaller #0 Tainted: G W ----------------------------- kernel/rcu/tree_exp.h:971 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:17/6121: #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_scheduled_works+0x990/0x18e0 kernel/workqueue.c:3319 #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9cb/0x18e0 kernel/workqueue.c:3319 #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: bond_mii_monitor+0x17f/0x3170 drivers/net/bonding/bond_main.c:2954 stack backtrace: CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Tainted: G W 6.15.0-rc1-syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x175/0x200 kernel/locking/lockdep.c:6865 synchronize_rcu_expedited+0x131/0x830 kernel/rcu/tree_exp.h:968 dev_deactivate_many+0x565/0xca0 net/sched/sch_generic.c:1372 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ============================= [ BUG: Invalid wait context ] 6.15.0-rc1-syzkaller #0 Tainted: G W ----------------------------- kworker/u8:17/6121 is trying to lock: ffffffff8ed434f8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: exp_funnel_lock kernel/rcu/tree_exp.h:336 [inline] ffffffff8ed434f8 (rcu_state.exp_mutex){+.+.}-{4:4}, at: synchronize_rcu_expedited+0x454/0x830 kernel/rcu/tree_exp.h:998 other info that might help us debug this: context-{5:5} 3 locks held by kworker/u8:17/6121: #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3213 [inline] #0: ffff88807b922148 ((wq_completion)bond0#2){+.+.}-{0:0}, at: process_scheduled_works+0x990/0x18e0 kernel/workqueue.c:3319 #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3214 [inline] #1: ffffc90004ec7c60 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x9cb/0x18e0 kernel/workqueue.c:3319 #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8ed3dfe0 (rcu_read_lock){....}-{1:3}, at: bond_mii_monitor+0x17f/0x3170 drivers/net/bonding/bond_main.c:2954 stack backtrace: CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Tainted: G W 6.15.0-rc1-syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_lock_invalid_wait_context kernel/locking/lockdep.c:4831 [inline] check_wait_context kernel/locking/lockdep.c:4903 [inline] __lock_acquire+0xc30/0xd80 kernel/locking/lockdep.c:5185 lock_acquire+0x116/0x2f0 kernel/locking/lockdep.c:5866 __mutex_lock_common kernel/locking/mutex.c:601 [inline] __mutex_lock+0x1a5/0x10c0 kernel/locking/mutex.c:746 exp_funnel_lock kernel/rcu/tree_exp.h:336 [inline] synchronize_rcu_expedited+0x454/0x830 kernel/rcu/tree_exp.h:998 dev_deactivate_many+0x565/0xca0 net/sched/sch_generic.c:1372 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ------------[ cut here ]------------ Voluntary context switch within RCU read-side critical section! WARNING: CPU: 0 PID: 6121 at kernel/rcu/tree_plugin.h:332 rcu_note_context_switch+0x702/0x1060 kernel/rcu/tree_plugin.h:332 Modules linked in: CPU: 0 UID: 0 PID: 6121 Comm: kworker/u8:17 Tainted: G W 6.15.0-rc1-syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Workqueue: bond0 bond_mii_monitor RIP: 0010:rcu_note_context_switch+0x702/0x1060 kernel/rcu/tree_plugin.h:332 Code: 00 e9 cc 00 00 00 41 83 fd 06 0f 84 92 00 00 00 e9 bd 00 00 00 c6 05 ca 3c 9f 0e 01 90 48 c7 c7 80 00 4c 8c e8 ff fe d8 ff 90 <0f> 0b 90 90 e9 36 fa ff ff 90 0f 0b 90 45 84 ff 0f 84 fc f9 ff ff RSP: 0018:ffffc90004ec6e20 EFLAGS: 00010046 RAX: 6ecce214461f4300 RBX: ffff88801d375e44 RCX: ffff88801d375a00 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc90004ec6f70 R08: ffffffff818268d2 R09: fffffbfff1d7a978 R10: dffffc0000000000 R11: fffffbfff1d7a978 R12: ffff888124fc9000 R13: dffffc0000000000 R14: ffff88801d375a00 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff888124fc9000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2fc0bff8 CR3: 0000000046d7e000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __schedule+0x3b3/0x51f0 kernel/sched/core.c:6672 __schedule_loop kernel/sched/core.c:6845 [inline] schedule+0x163/0x360 kernel/sched/core.c:6860 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6917 mutex_optimistic_spin kernel/locking/mutex.c:501 [inline] __mutex_lock_common kernel/locking/mutex.c:605 [inline] __mutex_lock+0x441/0x10c0 kernel/locking/mutex.c:746 exp_funnel_lock kernel/rcu/tree_exp.h:336 [inline] synchronize_rcu_expedited+0x454/0x830 kernel/rcu/tree_exp.h:998 dev_deactivate_many+0x565/0xca0 net/sched/sch_generic.c:1372 dev_deactivate+0x186/0x280 net/sched/sch_generic.c:1398 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:184 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:63 bond_check_dev_link+0x1fb/0x4b0 drivers/net/bonding/bond_main.c:864 bond_miimon_inspect drivers/net/bonding/bond_main.c:2734 [inline] bond_mii_monitor+0x49d/0x3170 drivers/net/bonding/bond_main.c:2956 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xac3/0x18e0 kernel/workqueue.c:3319 worker_thread+0x870/0xd50 kernel/workqueue.c:3400 kthread+0x7b7/0x940 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245