diff options
| author | Stanislav Fomichev <[email protected]> | 2025-04-10 16:11:17 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-04-12 01:53:20 +0000 |
| commit | f7a11cba0ed79d9d37941dddf69a8a655c8644bc (patch) | |
| tree | a81d2f547dcec68b7195c167f0fed6a8813e0524 /net/unix/af_unix.c | |
| parent | net: mctp: Set SOCK_RCU_FREE (diff) | |
| download | kernel-f7a11cba0ed79d9d37941dddf69a8a655c8644bc.tar.gz kernel-f7a11cba0ed79d9d37941dddf69a8a655c8644bc.zip | |
bonding: hold ops lock around get_link
syzbot reports a case of ethtool_ops->get_link being called without
ops lock:
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
Commit 04efcee6ef8d ("net: hold instance lock during NETDEV_CHANGE")
changed to lockless __linkwatch_sync_dev in ethtool_op_get_link.
All paths except bonding are coming via locked ioctl. Add necessary
locking to bonding.
Reviewed-by: Hangbin Liu <[email protected]>
Reported-by: [email protected]
Closes: https://syzkaller.appspot.com/bug?extid=48c14f61594bdfadb086
Fixes: 04efcee6ef8d ("net: hold instance lock during NETDEV_CHANGE")
Signed-off-by: Stanislav Fomichev <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
