[Public]

Reviewed-by: Kent Russell <[email protected]>



> -----Original Message-----
> From: amd-gfx <[email protected]> On Behalf Of Eric Huang
> Sent: Friday, March 27, 2026 2:01 PM
> To: [email protected]
> Cc: Huang, JinHuiEric <[email protected]>
> Subject: [PATCH] drm/amdkfd: fix kernel crash on releasing NULL sysfs entry
>
> there is an abnormal case that When a process re-opens kfd
> with different mm_struct(execve() called by user), the
> allocated p->kobj will be freed, but missed setting it to NULL,
> that will cause sysfs/kernel crash with NULL pointers in p->kobj
> on kfd_process_remove_sysfs() when releasing process, and the
> similar error on kfd_procfs_del_queue() as well.
>
> Signed-off-by: Eric Huang <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_process.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index 8df76c24b394..4333a9623a14 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -679,7 +679,7 @@ static void kfd_procfs_add_sysfs_files(struct kfd_process
> *p)
>
>  void kfd_procfs_del_queue(struct queue *q)
>  {
> -     if (!q)
> +     if (!q || !q->process->kobj)
>               return;
>
>       kobject_del(&q->kobj);
> @@ -858,6 +858,7 @@ int kfd_create_process_sysfs(struct kfd_process *process)
>       if (ret) {
>               pr_warn("Creating procfs pid directory failed");
>               kobject_put(process->kobj);
> +             process->kobj = NULL;
>               return ret;
>       }
>
> --
> 2.34.1

Reply via email to