Description
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 products
- Linux / Linux7.1 – *
- Linux / Linuxa70a93fa568b4f05aba548dadb673703eccf5480 – 62bd09e23a23da70f9aae02748eba3e6bd93095d
- Linux / Linuxa70a93fa568b4f05aba548dadb673703eccf5480 – daeceb0fe2a19651c58bbfa3d9d515ecb6ca8996
- Linux / Linuxa70a93fa568b4f05aba548dadb673703eccf5480 – 72e259a32084c42816152c346096d2edd4213e23
- Linux / Linuxa70a93fa568b4f05aba548dadb673703eccf5480 – e1965e8913cfbf17622ca12638e7a07f68ba0848
- Linux / Linuxa70a93fa568b4f05aba548dadb673703eccf5480 – 2bd550b547deabef98bd3b017ff743b7c34d3a6d
- Linux / Linux6.5 – 6.5
- Linux / Linux0 – 6.5
- Linux / Linux6.6.143 – 6.6.*
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
References
- MISChttps://git.kernel.org/stable/c/62bd09e23a23da70f9aae02748eba3e6bd93095d
- MISChttps://git.kernel.org/stable/c/daeceb0fe2a19651c58bbfa3d9d515ecb6ca8996
- MISChttps://git.kernel.org/stable/c/72e259a32084c42816152c346096d2edd4213e23
- MISChttps://git.kernel.org/stable/c/e1965e8913cfbf17622ca12638e7a07f68ba0848
- MISChttps://git.kernel.org/stable/c/2bd550b547deabef98bd3b017ff743b7c34d3a6d