mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
drm/amdkfd: Fix NULL pointer check order in kfd_ioctl_create_process
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:cc6b66d661("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 commit19d4149b22)
This commit is contained in:
committed by
Alex Deucher
parent
9da4f9964a
commit
429aec2bc0
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user