diff options
| author | Zijun Hu <[email protected]> | 2024-10-29 15:13:38 +0000 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2024-11-05 12:31:16 +0000 |
| commit | 498dbd9aea205db9da674994b74c7bf8e18448bd (patch) | |
| tree | 227da538643e874a8f96b2c8e8e8f7c8f28d1e82 /rust/helpers/helpers.c | |
| parent | Linux 6.12-rc6 (diff) | |
| download | kernel-498dbd9aea205db9da674994b74c7bf8e18448bd.tar.gz kernel-498dbd9aea205db9da674994b74c7bf8e18448bd.zip | |
usb: musb: sunxi: Fix accessing an released usb phy
Commit 6ed05c68cbca ("usb: musb: sunxi: Explicitly release USB PHY on
exit") will cause that usb phy @glue->xceiv is accessed after released.
1) register platform driver @sunxi_musb_driver
// get the usb phy @glue->xceiv
sunxi_musb_probe() -> devm_usb_get_phy().
2) register and unregister platform driver @musb_driver
musb_probe() -> sunxi_musb_init()
use the phy here
//the phy is released here
musb_remove() -> sunxi_musb_exit() -> devm_usb_put_phy()
3) register @musb_driver again
musb_probe() -> sunxi_musb_init()
use the phy here but the phy has been released at 2).
...
Fixed by reverting the commit, namely, removing devm_usb_put_phy()
from sunxi_musb_exit().
Fixes: 6ed05c68cbca ("usb: musb: sunxi: Explicitly release USB PHY on exit")
Cc: [email protected]
Signed-off-by: Zijun Hu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions
