Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: net: usb: aqc111: Do not perform PM inside suspend callback syzbot reports "task hung in rpm_resume" This is caused by aqc111_suspend calling the PM variant of its write_cmd routine. The simplified call trace looks like this: rpm_suspend() usb_suspend_both() - here udev->dev.power.runtime_status == RPM_SUSPENDING aqc111_suspend() - called for the usb device interface aqc111_write32_cmd() usb_autopm_get_interface() pm_runtime_resume_and_get() rpm_resume() - here we call rpm_resume() on our parent rpm_resume() - Here we wait for a status change that will never happen. At this point we block another task which holds rtnl_lock and locks up the whole networking stack. Fix this by replacing the write_cmd calls with their _nopm variants
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before cc06ac99fd78839b2d38850785731ef131d9ae26; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before b87f361d41f9a7f1f6c426947ca815651c481376; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before 621f2f43741b51f62d767eb4752fbcefe2526926; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before 4de6a43e8ecf961feabddf0e9d6911081d2ed218; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before 3267bcb744ee8a2feabaa7ab69473f086f67fd71; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before d3e32a612c6391ca9b7c183aeec22b4fd24c300c; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before 98e8aed64614b0c199d5f0391fbe1a4331cb5773; affected e58ba4544c7771591d1e3157bc01b4a8e4d1c3fc before 069c8f5aebe4d5224cf62acc7d4b3486091c658a |
| Linux / Linux | affected 5.0; unaffected 0 before 5.0; unaffected 5.10.253 through 5.10.*; unaffected 5.15.203 through 5.15.*; unaffected 6.1.167 through 6.1.*; unaffected 6.6.130 through 6.6.*; unaffected 6.12.78 through 6.12.*; unaffected 6.18.20 through 6.18.*; unaffected 6.19.10 through 6.19.*; unaffected 7.0 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/cc06ac99fd78839b2d38850785731ef131d9ae26
- https://git.kernel.org/stable/c/b87f361d41f9a7f1f6c426947ca815651c481376
- https://git.kernel.org/stable/c/621f2f43741b51f62d767eb4752fbcefe2526926
- https://git.kernel.org/stable/c/4de6a43e8ecf961feabddf0e9d6911081d2ed218
- https://git.kernel.org/stable/c/3267bcb744ee8a2feabaa7ab69473f086f67fd71
- https://git.kernel.org/stable/c/d3e32a612c6391ca9b7c183aeec22b4fd24c300c
- https://git.kernel.org/stable/c/98e8aed64614b0c199d5f0391fbe1a4331cb5773
- https://git.kernel.org/stable/c/069c8f5aebe4d5224cf62acc7d4b3486091c658a
ADP enrichment
No English description supplied.