Re: [PATCH v2] b43: don't save dentries for debugfs
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-05-19 16:03:15
Also in:
linux-wireless, lkml
On Wed, May 19, 2021 at 08:57:00AM -0700, Jeff Johnson wrote:
On 2021-05-19 08:42, Greg Kroah-Hartman wrote:quoted
On Wed, May 19, 2021 at 08:04:59AM -0700, Jeff Johnson wrote:quoted
On 2021-05-18 22:05, Greg Kroah-Hartman wrote:quoted
On Tue, May 18, 2021 at 03:00:44PM -0700, Jeff Johnson wrote:quoted
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 549Ah, 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