Commit ad19522
net: ravb: Fix missing rtnl lock in suspend/resume path
[ Upstream commit 2c2ebb2 ]
Fix the suspend/resume path by ensuring the rtnl lock is held where
required. Calls to ravb_open, ravb_close and wol operations must be
performed under the rtnl lock to prevent conflicts with ongoing ndo
operations.
Without this fix, the following warning is triggered:
[ 39.032969] =============================
[ 39.032983] WARNING: suspicious RCU usage
[ 39.033019] -----------------------------
[ 39.033033] drivers/net/phy/phy_device.c:2004 suspicious
rcu_dereference_protected() usage!
...
[ 39.033597] stack backtrace:
[ 39.033613] CPU: 0 UID: 0 PID: 174 Comm: python3 Not tainted
6.13.0-rc7-next-20250116-arm64-renesas-00002-g35245dfdc62c #7
[ 39.033623] Hardware name: Renesas SMARC EVK version 2 based on
r9a08g045s33 (DT)
[ 39.033628] Call trace:
[ 39.033633] show_stack+0x14/0x1c (C)
[ 39.033652] dump_stack_lvl+0xb4/0xc4
[ 39.033664] dump_stack+0x14/0x1c
[ 39.033671] lockdep_rcu_suspicious+0x16c/0x22c
[ 39.033682] phy_detach+0x160/0x190
[ 39.033694] phy_disconnect+0x40/0x54
[ 39.033703] ravb_close+0x6c/0x1cc
[ 39.033714] ravb_suspend+0x48/0x120
[ 39.033721] dpm_run_callback+0x4c/0x14c
[ 39.033731] device_suspend+0x11c/0x4dc
[ 39.033740] dpm_suspend+0xdc/0x214
[ 39.033748] dpm_suspend_start+0x48/0x60
[ 39.033758] suspend_devices_and_enter+0x124/0x574
[ 39.033769] pm_suspend+0x1ac/0x274
[ 39.033778] state_store+0x88/0x124
[ 39.033788] kobj_attr_store+0x14/0x24
[ 39.033798] sysfs_kf_write+0x48/0x6c
[ 39.033808] kernfs_fop_write_iter+0x118/0x1a8
[ 39.033817] vfs_write+0x27c/0x378
[ 39.033825] ksys_write+0x64/0xf4
[ 39.033833] __arm64_sys_write+0x18/0x20
[ 39.033841] invoke_syscall+0x44/0x104
[ 39.033852] el0_svc_common.constprop.0+0xb4/0xd4
[ 39.033862] do_el0_svc+0x18/0x20
[ 39.033870] el0_svc+0x3c/0xf0
[ 39.033880] el0t_64_sync_handler+0xc0/0xc4
[ 39.033888] el0t_64_sync+0x154/0x158
[ 39.041274] ravb 11c30000.ethernet eth0: Link is Down
Reported-by: Claudiu Beznea <[email protected]>
Closes: https://lore.kernel.org/netdev/[email protected]/
Fixes: 0184165 ("ravb: add sleep PM suspend/resume support")
Signed-off-by: Kory Maincent <[email protected]>
Tested-by: Niklas Söderlund <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>1 parent 5a9eae6 commit ad19522
1 file changed
+14
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3217 | 3217 | | |
3218 | 3218 | | |
3219 | 3219 | | |
3220 | | - | |
3221 | | - | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
3222 | 3226 | | |
3223 | 3227 | | |
| 3228 | + | |
3224 | 3229 | | |
3225 | 3230 | | |
3226 | 3231 | | |
| |||
3245 | 3250 | | |
3246 | 3251 | | |
3247 | 3252 | | |
| 3253 | + | |
3248 | 3254 | | |
3249 | | - | |
| 3255 | + | |
3250 | 3256 | | |
3251 | | - | |
3252 | | - | |
3253 | | - | |
| 3257 | + | |
3254 | 3258 | | |
3255 | | - | |
3256 | | - | |
| 3259 | + | |
| 3260 | + | |
| 3261 | + | |
3257 | 3262 | | |
3258 | 3263 | | |
3259 | 3264 | | |
3260 | 3265 | | |
| 3266 | + | |
3261 | 3267 | | |
3262 | 3268 | | |
3263 | 3269 | | |
| |||
0 commit comments