IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition
- 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 5.1, 5.4.189, 5.10.111, 5.15.34, 5.16.20, and 1 more
- 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
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition The documentation of the function rvt_error_qp says both r_lock and s_lock need to be held when calling that function. It also asserts using lockdep that both of those locks are held. However, the commit I referenced in Fixes accidentally makes the call to rvt_error_qp in rvt_ruc_loopback no longer covered by r_lock. This results in the lockdep assertion failing and also possibly in a race condition.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 8a50937227c385a477177c9ffa122b4230e40666; From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 43c2d7890ecabe527448a6c391fb2d9a5e6bbfe0; From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 92f1947c0d26060e978b3a9f21f32ce7c8c9cca3; From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 77ffb2495a41098f9d6a14f8aefde3188da75944; From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 57800cc36e55db0547461c49acf5cd84c0f502b0; From d757c60eca9b22f4d108929a24401e0fdecda0b1 · fixed in 4d809f69695d4e7d1378b3a072fa9aef23123018; From 5.0.4 · fixed in 5.1
- Linux Linux
5.1
- KernelLinux
From 5.1.0 · fixed in 5.4.189; From 5.5.0 · fixed in 5.10.111; From 5.11.0 · fixed in 5.15.34; From 5.16.0 · fixed in 5.16.20; From 5.17.0 · fixed in 5.17.3