]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:01:53 +0000 (13:01 +0100)
commit fd617ea3b79d2116d53f76cdb5a3601c0ba6e42f upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdkfd/kfd_queue.c

index ad29634f8b44caed8757c3d5182f924935a31e32..80c85b6cc478a960f4898e638ab74dcdf973b3c4 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;