On Fri, Jul 10, 2026 at 10:08:11PM +0800, Zhu, Lingshan wrote:
> On 7/10/2026 9:57 PM, Dan Carpenter wrote:
>
> > 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.
>
> Thanks Dan for the background, then how do we prevent the entry leaking if we
> do not check debugfs_create_dir?
We just don't worry about it. If that happens, you probably are going
to need to do a kernel upgrade or replace your ram or something. A
small leak is the least of your worries.
This is the answer that Greg told me back in the day.
regards,
dan carpenter