[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
