Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix NULL dereference in get_queue_ids() When usr_queue_id_array is NULL and num_queues is non-zero, get_queue_ids() returns NULL. The callers check only IS_ERR() on the return value; since IS_ERR(NULL) == false the check passes, and suspend_queues() calls q_array_invalidate() which immediately dereferences NULL while iterating num_queues times. Userspace can trigger this via kfd_ioctl_set_debug_trap() by supplying num_queues > 0 with a zero queue_array_ptr, causing a kernel panic. A NULL usr_queue_id_array with num_queues == 0 is a legitimate no-op (q_array_invalidate never executes, and resume_queues already guards all queue_ids dereferences behind a NULL check). Return ERR_PTR(-EINVAL) only when num_queues is non-zero and the pointer is absent; both callers already propagate IS_ERR() returns correctly to userspace. (cherry picked from commit f165a82cdf503884bb1797771c61b2fcc72113d4)
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected a70a93fa568b4f05aba548dadb673703eccf5480 before 62bd09e23a23da70f9aae02748eba3e6bd93095d; affected a70a93fa568b4f05aba548dadb673703eccf5480 before daeceb0fe2a19651c58bbfa3d9d515ecb6ca8996; affected a70a93fa568b4f05aba548dadb673703eccf5480 before 72e259a32084c42816152c346096d2edd4213e23; affected a70a93fa568b4f05aba548dadb673703eccf5480 before e1965e8913cfbf17622ca12638e7a07f68ba0848; affected a70a93fa568b4f05aba548dadb673703eccf5480 before 2bd550b547deabef98bd3b017ff743b7c34d3a6d |
| Linux / Linux | affected 6.5; unaffected 0 before 6.5; unaffected 6.6.143 through 6.6.*; unaffected 6.12.94 through 6.12.*; unaffected 6.18.36 through 6.18.*; unaffected 7.0.13 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/62bd09e23a23da70f9aae02748eba3e6bd93095d
- https://git.kernel.org/stable/c/daeceb0fe2a19651c58bbfa3d9d515ecb6ca8996
- https://git.kernel.org/stable/c/72e259a32084c42816152c346096d2edd4213e23
- https://git.kernel.org/stable/c/e1965e8913cfbf17622ca12638e7a07f68ba0848
- https://git.kernel.org/stable/c/2bd550b547deabef98bd3b017ff743b7c34d3a6d