aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2026-01-29 11:16:50 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2026-01-29 19:35:23 +0000
commit4b32fdb4a614de602d288ac5a414cb43e9f2163e (patch)
treedfd442e82b5402feae4f963ee6e47793801c0cb5
parent783b8a0fd880255a8315db7f59d0450bd7276f4d (diff)
lindebugfs: check that name is set as otherwise pfs_alloc_node_flags() panics
I have hit the case multiple times that some LinuxKPI field may not be set during driver bringup and lindebugfs would cause a panic. The backtrace goes like: strlen() at strlen+0x54 pfs_create_dir() at pfs_create_dir+0x41 debugfs_create_dir() at debugfs_create_dir+0xa1 ... While the problem is clearly in LinuxKPI or the driver, we likely should at least add an assert to pfs_create_dir() if name is NULL like we have for pfs_add_node() but for lindebugfs at least make this a graceful error and continue without creating the dir instead of panicing. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D54944
-rw-r--r--sys/compat/lindebugfs/lindebugfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c
index 8cddc6f390bc..857546f61e55 100644
--- a/sys/compat/lindebugfs/lindebugfs.c
+++ b/sys/compat/lindebugfs/lindebugfs.c
@@ -272,6 +272,9 @@ debugfs_create_dir(const char *name, struct dentry *parent)
struct dentry *dnode;
struct pfs_node *pnode;
+ if (name == NULL)
+ return (NULL);
+
dm = malloc(sizeof(*dm), M_DFSINT, M_NOWAIT | M_ZERO);
if (dm == NULL)
return (NULL);