drm/msm: Only fini scheduler after successful init
- 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 6.6.160, 6.12.114, 6.18.52, 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: drm/msm: Only fini scheduler after successful init msm_ringbuffer_new() destroys a partially initialized ring through msm_ringbuffer_destroy() when an allocation or scheduler setup step fails. If drm_sched_init() fails before it finishes initializing the scheduler, the failure path still calls drm_sched_fini(). That teardown path assumes the scheduler work items, lists, and workqueue state were initialized. Track successful scheduler initialization and call drm_sched_fini() only after drm_sched_init() returned 0. This issue was found by a static analysis checker and confirmed by manual source review. Patchwork: https://patchwork.freedesktop.org/patch/738905/
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1d8a5ca436ee4a28eec14cb813f790f7cdeeee19 · fixed in bd2a5a876904eaf688a093cd73986abc3571f26b; From 1d8a5ca436ee4a28eec14cb813f790f7cdeeee19 · fixed in aafc9258efeec98fcb7e3998356b4b25bf1ad159; From 1d8a5ca436ee4a28eec14cb813f790f7cdeeee19 · fixed in d43e1bbfd43458b9242806eec77ea3b032134baf; From 1d8a5ca436ee4a28eec14cb813f790f7cdeeee19 · fixed in 09b360eb6ce345996a30fad8c86e9df80f41cd7e; From 1d8a5ca436ee4a28eec14cb813f790f7cdeeee19 · fixed in e2332abed2a4d3caa59052095dc16e4ce44791ea
- Linux Linux
5.15
- KernelLinux
From 5.15.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6