On Fri, Jul 10, 2026 at 09:47:32PM +0800, Zhu, Lingshan wrote:
> On 7/10/2026 7:29 PM, Srinivasan Shanmugam wrote:
>
> > debugfs is intended for debugging only, and failures to create debugfs
> > entries should not affect normal operation.
> >
> > Remove the check for debugfs_create_dir() in kfd_debugfs_add_process().
> > If debugfs entries cannot be created, continue without them instead of
> > reporting an unnecessary error.
> >
> > Fixes: 22ab1bb3994a ("amdkfd: expose pasid of secondary contexts by
> > debugfs")
> > Reported-by: Dan Carpenter <[email protected]>
> > Cc: Zhu Lingshan <[email protected]>
> > Cc: Felix Kuehling <[email protected]>
> > Signed-off-by: Srinivasan Shanmugam <[email protected]>
> > ---
> > drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c | 4 ----
> > 1 file changed, 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c
> > index 02673f01b448..7c5bc9c4559a 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c
> > @@ -211,10 +211,6 @@ int kfd_debugfs_add_process(struct kfd_process *p)
> > entry->proc_dentry = debugfs_create_dir(name,
> >
> > primary_entry->proc_dentry);
> > }
> > - if (IS_ERR_OR_NULL(entry->proc_dentry)) {
> > - ret = entry->proc_dentry ? PTR_ERR(entry->proc_dentry) :
> > -ENOMEM;
> > - goto err_free_entry;
> > - }
>
> We need this check because debugfs_create_dir() may fail.
> Removing this check leads to entry leaking when fail.
>
Debugfs functions aren't supposed to be checked. Drivers aren't
supposed to rely on debugfs so it's not required. If debugfs is
failing then you are pretty much screwed anyway.
I have a blog about the history of this:
https://staticthinking.wordpress.com/2023/07/24/debugfs-functions-are-not-supposed-to-be-checked/
This code is inside #if defined(CONFIG_DEBUG_FS) so the check
isn't harmful except that it sets a bad example. Back in the day,
this used to be a source of pain for me so Greg made it hard to
write a correct check unless you have the #ifdef. It's to
discourage checking.
regards,
dan carpenter