============================= WARNING: suspicious RCU usage 6.10.0-syzkaller-04472-g51835949dda3 #0 Not tainted ----------------------------- net/sched/sch_generic.c:1284 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:11/2874: #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: bond_mii_monitor+0x174/0x3170 drivers/net/bonding/bond_main.c:2824 stack backtrace: CPU: 0 PID: 2874 Comm: kworker/u8:11 Not tainted 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 lockdep_rcu_suspicious+0x221/0x340 kernel/locking/lockdep.c:6711 dev_deactivate_queue+0x8f/0x160 net/sched/sch_generic.c:1284 netdev_for_each_tx_queue include/linux/netdevice.h:2513 [inline] dev_deactivate_many+0xc8/0xb10 net/sched/sch_generic.c:1357 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ============================= WARNING: suspicious RCU usage 6.10.0-syzkaller-04472-g51835949dda3 #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:11/2874: #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: bond_mii_monitor+0x174/0x3170 drivers/net/bonding/bond_main.c:2824 stack backtrace: CPU: 1 PID: 2874 Comm: kworker/u8:11 Not tainted 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 lockdep_rcu_suspicious+0x221/0x340 kernel/locking/lockdep.c:6711 dev_ingress_queue include/linux/rtnetlink.h:100 [inline] dev_deactivate_many+0x18f/0xb10 net/sched/sch_generic.c:1359 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 BUG: sleeping function called from invalid context at net/core/dev.c:11221 in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 2874, name: kworker/u8:11 preempt_count: 0, expected: 0 RCU nest depth: 1, expected: 0 3 locks held by kworker/u8:11/2874: #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: bond_mii_monitor+0x174/0x3170 drivers/net/bonding/bond_main.c:2824 CPU: 1 PID: 2874 Comm: kworker/u8:11 Not tainted 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 __might_resched+0x5d4/0x780 kernel/sched/core.c:8437 synchronize_net+0x1b/0x50 net/core/dev.c:11221 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1371 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ============================= WARNING: suspicious RCU usage 6.10.0-syzkaller-04472-g51835949dda3 #0 Tainted: G W ----------------------------- kernel/rcu/tree_exp.h:931 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:11/2874: #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: bond_mii_monitor+0x174/0x3170 drivers/net/bonding/bond_main.c:2824 stack backtrace: CPU: 1 PID: 2874 Comm: kworker/u8:11 Tainted: G W 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 lockdep_rcu_suspicious+0x221/0x340 kernel/locking/lockdep.c:6711 synchronize_rcu_expedited+0x12e/0x830 kernel/rcu/tree_exp.h:928 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1371 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ============================= [ BUG: Invalid wait context ] 6.10.0-syzkaller-04472-g51835949dda3 #0 Tainted: G W ----------------------------- kworker/u8:11/2874 is trying to lock: ffffffff8e33b3b8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:328 [inline] ffffffff8e33b3b8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x451/0x830 kernel/rcu/tree_exp.h:958 other info that might help us debug this: context-{4:4} 3 locks held by kworker/u8:11/2874: #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3206 [inline] #0: ffff888023286148 ((wq_completion)bond0){+.+.}-{0:0}, at: process_scheduled_works+0x90a/0x1830 kernel/workqueue.c:3312 #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3207 [inline] #1: ffffc90009dc7d00 ((work_completion)(&(&bond->mii_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0x945/0x1830 kernel/workqueue.c:3312 #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:327 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:839 [inline] #2: ffffffff8e335fe0 (rcu_read_lock){....}-{1:2}, at: bond_mii_monitor+0x174/0x3170 drivers/net/bonding/bond_main.c:2824 stack backtrace: CPU: 1 PID: 2874 Comm: kworker/u8:11 Tainted: G W 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114 print_lock_invalid_wait_context kernel/locking/lockdep.c:4750 [inline] check_wait_context kernel/locking/lockdep.c:4820 [inline] __lock_acquire+0x1507/0x1fd0 kernel/locking/lockdep.c:5086 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5753 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752 exp_funnel_lock kernel/rcu/tree_exp.h:328 [inline] synchronize_rcu_expedited+0x451/0x830 kernel/rcu/tree_exp.h:958 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1371 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 ------------[ cut here ]------------ Voluntary context switch within RCU read-side critical section! WARNING: CPU: 1 PID: 2874 at kernel/rcu/tree_plugin.h:330 rcu_note_context_switch+0xcf4/0xff0 kernel/rcu/tree_plugin.h:330 Modules linked in: CPU: 1 PID: 2874 Comm: kworker/u8:11 Tainted: G W 6.10.0-syzkaller-04472-g51835949dda3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 Workqueue: bond0 bond_mii_monitor RIP: 0010:rcu_note_context_switch+0xcf4/0xff0 kernel/rcu/tree_plugin.h:330 Code: 00 ba 02 00 00 00 e8 cb 02 fe ff 4c 8b b4 24 80 00 00 00 eb 91 c6 05 98 3f 1b 0e 01 90 48 c7 c7 40 21 cc 8b e8 8d 26 db ff 90 <0f> 0b 90 90 e9 3b f4 ff ff 90 0f 0b 90 45 84 ed 0f 84 00 f4 ff ff RSP: 0018:ffffc90009dc6fc0 EFLAGS: 00010046 RAX: 129439ac0980bb00 RBX: ffff88802b6c8444 RCX: ffff88802b6c8000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffc90009dc7110 R08: ffffffff815878a2 R09: fffffbfff1c39d94 R10: dffffc0000000000 R11: fffffbfff1c39d94 R12: ffff88802b6c8000 R13: 0000000000000000 R14: 1ffff920013b8e10 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000563178d9e028 CR3: 000000000e134000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __schedule+0x348/0x4a60 kernel/sched/core.c:6417 __schedule_loop kernel/sched/core.c:6606 [inline] schedule+0x14b/0x320 kernel/sched/core.c:6621 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:6678 mutex_optimistic_spin kernel/locking/mutex.c:510 [inline] __mutex_lock_common kernel/locking/mutex.c:612 [inline] __mutex_lock+0x391/0xd70 kernel/locking/mutex.c:752 exp_funnel_lock kernel/rcu/tree_exp.h:328 [inline] synchronize_rcu_expedited+0x451/0x830 kernel/rcu/tree_exp.h:958 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1371 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1397 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175 ethtool_op_get_link+0x15/0x60 net/ethtool/ioctl.c:62 bond_check_dev_link+0x1f1/0x3f0 drivers/net/bonding/bond_main.c:757 bond_miimon_inspect drivers/net/bonding/bond_main.c:2604 [inline] bond_mii_monitor+0x49a/0x3170 drivers/net/bonding/bond_main.c:2826 process_one_work kernel/workqueue.c:3231 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312 worker_thread+0x86d/0xd40 kernel/workqueue.c:3390 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244