=============================
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