Subject: Re: [PATCH v2] b43: don't save dentries for debugfs

From: Greg Kroah-Hartman <[email-masked]>
Date: Wed, 19 May 2021 18:03:08 +0200

On Wed, May 19, 2021 at 08:57:00AM -0700, Jeff Johnson wrote:
> On 2021-05-19 08:42, Greg Kroah-Hartman wrote:
> > On Wed, May 19, 2021 at 08:04:59AM -0700, Jeff Johnson wrote:
> > > On 2021-05-18 22:05, Greg Kroah-Hartman wrote:
> > > > On Tue, May 18, 2021 at 03:00:44PM -0700, Jeff Johnson wrote:
> > > > > On 2021-05-18 12:29, Jeff Johnson wrote:
> > > > > Would still like guidance on if there is a recommended way to get a
> > > > > dentry not associated with debugfs.
> > > >
> > > > What do you exactly mean by "not associated with debugfs"?
> > > >
> > > > And why are you passing a debugfs dentry to relay_open()?  That feels
> > > > really wrong and fragile.
> > > 
> > > I don't know the history but the relay documentation tells us:
> > > "If you want a directory structure to contain your relay files,
> > > you should create it using the host filesystem’s directory
> > > creation function, e.g. debugfs_create_dir()..."
> > > 
> > > So my guess is that the original implementation followed that
> > > advice.  I see 5 clients of this functionality, and all 5 pass a
> > > dentry returned from debugfs_create_dir():
> > > 
> > > drivers/gpu/drm/i915/gt/uc/intel_guc_log.c, line 384
> > > drivers/net/wireless/ath/ath10k/spectral.c, line 534
> > > drivers/net/wireless/ath/ath11k/spectral.c, line 902
> > > drivers/net/wireless/ath/ath9k/common-spectral.c, line 1077
> > > kernel/trace/blktrace.c, line 549
> > 
> > Ah, that's just the "parent" dentry for the relayfs file.  That's fine,
> > not a big deal, debugfs will always provide a way for you to get that if
> > needed.
> 
> Unless debugfs is disabled, like on Android, which is the real problem I'm
> trying to solve.

Then use some other filesystem to place your relay file in.  A relay
file is not a file that userspace should rely on for normal operation,
so why do you need it at all?

What tools/operation requires access to this file that systems without
debugfs support is causing problems on?

thanks,

greg k-h