drm/lima: call drm_mm_init() with a valid allocation range
- 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.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 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
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/lima: call drm_mm_init() with a valid allocation range lima_vm_create() is currently run before va_start and va_end are set up, meaning they are both 0. lima_vm_create() runs drm_mm_init() with them as arguments for the allocator, and if DRM_DEBUG_MM is enabled the DRM_MM_BUG_ON check in drm_mm_init then fires, as seen here on exynos4412-odroid-u2: [ 1.736297] ------------[ cut here ]------------ [ 1.740370] kernel BUG at drivers/gpu/drm/drm_mm.c:931! [ 1.745574] Internal error: Oops - BUG: 0 [#1] SMP ARM [ 1.750697] Modules linked in: [ 1.753734] CPU: 0 UID: 0 PID: 41 Comm: kworker/u16:1 Not tainted 7.0.10-postmarketos-exynos4 #11 PREEMPT [ 1.763372] Hardware name: Samsung Exynos (Flattened Device Tree) [ 1.769446] Workqueue: events_unbound deferred_probe_work_func [ 1.775261] PC is at drm_mm_init+0x9c/0xa4 [ 1.779339] LR is at lima_vm_create+0x144/0x17c [ ... ] Fix the issue by moving the lima_vm_create() call after va_start and va_end are set up.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in af1f276d50c9d7ebcd25770f358ca503a89d96d7; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in fd6bc5f1d6b54047b06b82bab25a7e21e4b1c95a; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in ad4e908096dff97646f77b04e2e2825225e215f7; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in 788917ba77f5d69bd368c1d176ecceda346a2951; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in 79a3331ee436c8b1454f897d539606c9b5ebdf9f; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in e2a7cee341986cb5b544a8286edc7fb0494c592e; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in e0773ad25a34a49aece176721c466cf214e02222; From a1d2a6339961efc078208dc3b2f006e9e9a8e119 · fixed in 3b3bce4a692ac60d9f4a341e6b597dd1fd0a28f9
- Linux Linux
5.2
- KernelLinux
From 5.2.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6
References 8
git.kernel.org
- stable/c/af1f276d50c9d7ebcd25770f358ca503a89d96d7
- stable/c/fd6bc5f1d6b54047b06b82bab25a7e21e4b1c95a
- stable/c/ad4e908096dff97646f77b04e2e2825225e215f7
- stable/c/788917ba77f5d69bd368c1d176ecceda346a2951
- stable/c/79a3331ee436c8b1454f897d539606c9b5ebdf9f
- stable/c/e2a7cee341986cb5b544a8286edc7fb0494c592e
- stable/c/e0773ad25a34a49aece176721c466cf214e02222
- stable/c/3b3bce4a692ac60d9f4a341e6b597dd1fd0a28f9