Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix list_del corruption in kfd_criu_resume_svm The cleanup tail of kfd_criu_resume_svm() walks svms->criu_svm_metadata_list and kfree()s each struct criu_svm_metadata without removing it from the list. The list head is left pointing at freed kmalloc-96 objects. A second AMDKFD_IOC_CRIU_OP from the same process re-enters: list_empty() reads the dangling ->next (use-after-free), the loop walks freed entries, and each is kfree()'d again (double-free). This is reachable by an unprivileged render-group user via /dev/kfd with no capabilities required. Add list_del() before the kfree() so the list is properly emptied. The list_for_each_entry_safe() iterator already caches the next pointer, so unlinking during the walk is safe. (cherry picked from commit 6322d278a298e2c1430b9d2697743d3a04b788b1)
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < c8a8d350a273c005a48c64c4519d21b2a51c5cebaffected2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < 506e635aed05dbdeef11e3c59f6e42980cda5b6daffected2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < 838b57b3e7ce8cce0fda56d0861add3d464dd6c8affected2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < 96ac562a9ea3020981f536384711190841c81aa8affected2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < e33a3bd5cb8d0cf1557dee014115f812c9686130affected2a909ae718715b3bac75d945e38dc0a5e4a0f1ba to < 8fa5655da368d0306c03e9dc9cda8ae2a7840926affected
Linux Linux
Default version status: affected
5.18affected0 to < 5.18unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c8a8d350a273c005a48c64c4519d21b2a51c5ceb ↗
- https://git.kernel.org/stable/c/506e635aed05dbdeef11e3c59f6e42980cda5b6d ↗
- https://git.kernel.org/stable/c/838b57b3e7ce8cce0fda56d0861add3d464dd6c8 ↗
- https://git.kernel.org/stable/c/96ac562a9ea3020981f536384711190841c81aa8 ↗
- https://git.kernel.org/stable/c/e33a3bd5cb8d0cf1557dee014115f812c9686130 ↗
- https://git.kernel.org/stable/c/8fa5655da368d0306c03e9dc9cda8ae2a7840926 ↗