drm/amdkfd: Fix NULL Pointer Dereference in KFD queue
authorAndrew Martin <Andrew.Martin@amd.com>
Fri, 28 Feb 2025 16:26:48 +0000 (11:26 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Mar 2025 16:47:00 +0000 (11:47 -0500)
Through KFD IOCTL Fuzzing we encountered a NULL pointer derefrence
when calling kfd_queue_acquire_buffers.

Fixes: 629568d25fea ("drm/amdkfd: Validate queue cwsr area and eop buffer size")
Signed-off-by: Andrew Martin <Andrew.Martin@amd.com>
Reviewed-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Andrew Martin <Andrew.Martin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 049e5bf3c8406f87c3d8e1958e0a16804fa1d530)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdkfd/kfd_queue.c

index ecccd7adbab4d266b3bfc85d934f5a1126809c01..24396a2c77bd01eac1cc1210ba22e0c1b12d248b 100644 (file)
@@ -266,8 +266,8 @@ int kfd_queue_acquire_buffers(struct kfd_process_device *pdd, struct queue_prope
        /* EOP buffer is not required for all ASICs */
        if (properties->eop_ring_buffer_address) {
                if (properties->eop_ring_buffer_size != topo_dev->node_props.eop_buffer_size) {
-                       pr_debug("queue eop bo size 0x%lx not equal to node eop buf size 0x%x\n",
-                               properties->eop_buf_bo->tbo.base.size,
+                       pr_debug("queue eop bo size 0x%x not equal to node eop buf size 0x%x\n",
+                               properties->eop_ring_buffer_size,
                                topo_dev->node_props.eop_buffer_size);
                        err = -EINVAL;
                        goto out_err_unreserve;