Description
In the Linux kernel, the following vulnerability has been resolved: net: usb: asix: hold PM usage ref to avoid PM/MDIO + RTNL deadlock Prevent USB runtime PM (autosuspend) for AX88772* in bind. usbnet enables runtime PM (autosuspend) by default, so disabling it via the usb_driver flag is ineffective. On AX88772B, autosuspend shows no measurable power saving with current driver (no link partner, admin up/down). The ~0.453 W -> ~0.248 W drop on v6.1 comes from phylib powering the PHY off on admin-down, not from USB autosuspend. The real hazard is that with runtime PM enabled, ndo_open() (under RTNL) may synchronously trigger autoresume (usb_autopm_get_interface()) into asix_resume() while the USB PM lock is held. Resume paths then invoke phylink/phylib and MDIO, which also expect RTNL, leading to possible deadlocks or PM lock vs MDIO wake issues. To avoid this, keep the device runtime-PM active by taking a usage reference in ax88772_bind() and dropping it in unbind(). A non-zero PM usage count blocks runtime suspend regardless of userspace policy (.../power/control - pm_runtime_allow/forbid), making this approach robust against sysfs overrides. Holding a runtime-PM usage ref does not affect system-wide suspend; system sleep/resume callbacks continue to run as before.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 71a0ba7fdaf8d035426912a4ed7bf1738a81010caffected4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 3e96cd27ff1a004d84908c1b6cc68ac60913874eaffected4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 724a9db84188f80ef60b1f21cc7b4e9c84e0cb64affected4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 1534517300e12f2930b6ff477b8820ff658afd11affected4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 9d8bcaf6fae1bd82bc27ec09a2694497e6f6c4b4affected4a2c7217cd5a87e85ceb761e307b030fe6db4805 to < 3d3c4cd5c62f24bb3cb4511b7a95df707635e00aaffected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected5.15.195 to ≤ 5.15.*unaffected6.1.156 to ≤ 6.1.*unaffected6.6.112 to ≤ 6.6.*unaffected6.12.53 to ≤ 6.12.*unaffected6.17.3 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/71a0ba7fdaf8d035426912a4ed7bf1738a81010c ↗
- https://git.kernel.org/stable/c/3e96cd27ff1a004d84908c1b6cc68ac60913874e ↗
- https://git.kernel.org/stable/c/724a9db84188f80ef60b1f21cc7b4e9c84e0cb64 ↗
- https://git.kernel.org/stable/c/1534517300e12f2930b6ff477b8820ff658afd11 ↗
- https://git.kernel.org/stable/c/9d8bcaf6fae1bd82bc27ec09a2694497e6f6c4b4 ↗
- https://git.kernel.org/stable/c/3d3c4cd5c62f24bb3cb4511b7a95df707635e00a ↗