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

From: Jeff Johnson <[email-masked]>
Date: Wed, 19 May 2021 08:57:00 -0700

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.

Jeff
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
Forum,
a Linux Foundation Collaborative Project