media: amd: isp4: fix self-deadlock in isp4sd_pwron_and_init() error path
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 7.2.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: media: amd: isp4: fix self-deadlock in isp4sd_pwron_and_init() error path isp4sd_pwron_and_init() holds ops_mutex via guard(mutex) and, on any init failure, jumps to err_deinit and calls isp4sd_pwroff_and_deinit(). That helper takes the same ops_mutex, re-acquiring a non-recursive mutex already held by the current thread, so any init failure deadlocks. Unwind the error path in stages instead, releasing only what each failure point acquired. This also avoids the issues that an unconditional teardown would hit at the earlier failures, such as a runtime-PM underflow from pm_runtime_resume_and_get() and MMIO access while the device is unpowered.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 4e5e7a7ddb4ab9ac35928d7dc72efc8797639dc3 · fixed in 74669cc3483e9729ca26b4e06a096ccdd607db64; From 4e5e7a7ddb4ab9ac35928d7dc72efc8797639dc3 · fixed in ef46d80a7015269a98c9505b5912a83798799199
- Linux Linux
7.2
- KernelLinux
From 7.2.0 · fixed in 7.2.6