dma-buf/dma-fence: fix checking signaling bit for timeline and driver name v3
- 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, 7.2.8
- 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: dma-buf/dma-fence: fix checking signaling bit for timeline and driver name v3 The patch "dma-buf: dma-fence: Fix potential NULL pointer dereference" changed the check to test for the ops pointer instead of the signaled bit to avoid a potential NULL dereference when the ops pointer has been cleared. The problem is now that the ops pointer is cleared only when neither the release nor the wait callback is implemented and this isn't true for a lot of dma_fence implementations yet. So those implementations lost the RCU protection after signaling of the returned string resulting in potential use after free. Add the signaling check additional to the ops pointer check so that we have both the protection against NULL dereference as well as the RCU protection after signaling for the returned string. v2: improve comments to note RCU protection and explain why we check both signaling state and ops pointer v3: some comment improvements suggested by Philip
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 035219a760edb35ae9a9e96beba7f122e26a997b · fixed in a4db25b8949d6ff9c1a685a1273a015e8bab29db; From 035219a760edb35ae9a9e96beba7f122e26a997b · fixed in 3ed11c671ff7ec58c8fd96410233c677df23f407; From 7.1.5 · fixed in 7.2
- Linux Linux
7.2
- KernelLinux
From 7.2.0 · fixed in 7.2.8