]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdkfd: Fix NULL pointer check order in kfd_ioctl_create_process
authorSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Mon, 23 Mar 2026 08:58:57 +0000 (14:28 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 24 Mar 2026 17:54:19 +0000 (13:54 -0400)
In kfd_ioctl_create_process(), the pointer 'p' is used before checking
if it is NULL.

The code accesses p->context_id before validating 'p'. This can lead
to a possible NULL pointer dereference.

Move the NULL check before using 'p' so that the pointer is validated
before access.

Fixes the below:
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_chardev.c:3177 kfd_ioctl_create_process() warn: variable dereferenced before check 'p' (see line 3174)

Fixes: cc6b66d661fd ("amdkfd: introduce new ioctl AMDKFD_IOC_CREATE_PROCESS")
Cc: Zhu Lingshan <lingshan.zhu@amd.com>
Cc: Felix Kuehling <felix.kuehling@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 19d4149b22f57094bfc4b86b742381b3ca394ead)

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c

index 09dabb3b329733fe3a7ba9ad398d7d60107492a3..462a32abf720abef2bf2605027fb0e010a255c54 100644 (file)
@@ -3170,11 +3170,11 @@ static int kfd_ioctl_create_process(struct file *filep, struct kfd_process *p, v
        struct kfd_process *process;
        int ret;
 
-       /* Each FD owns only one kfd_process */
-       if (p->context_id != KFD_CONTEXT_ID_PRIMARY)
+       if (!filep->private_data || !p)
                return -EINVAL;
 
-       if (!filep->private_data || !p)
+       /* Each FD owns only one kfd_process */
+       if (p->context_id != KFD_CONTEXT_ID_PRIMARY)
                return -EINVAL;
 
        mutex_lock(&kfd_processes_mutex);