Skip to content

Commit 748fb41

Browse files
2045geminigregkh
authored andcommitted
debugfs: check for NULL pointer in debugfs_create_str()
[ Upstream commit 31de839 ] Passing a NULL pointer to debugfs_create_str() leads to a NULL pointer dereference when the debugfs file is read. Following upstream discussions, forbid the creation of debugfs string files with NULL pointers. Add a WARN_ON() to expose offending callers and return early. Fixes: 9af0440 ("debugfs: Implement debugfs_create_str()") Reported-by: yangshiguang <yangshiguang@xiaomi.com> Closes: https://lore.kernel.org/lkml/2025122221-gag-malt-75ba@gregkh/ Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com> Link: https://patch.msgid.link/20260323085930.88894-2-hanguidong02@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent e49c6e9 commit 748fb41

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

fs/debugfs/file.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1071,7 +1071,7 @@ static const struct file_operations fops_str_wo = {
10711071
* directory dentry if set. If this parameter is %NULL, then the
10721072
* file will be created in the root of the debugfs filesystem.
10731073
* @value: a pointer to the variable that the file should read to and write
1074-
* from.
1074+
* from. This pointer and the string it points to must not be %NULL.
10751075
*
10761076
* This function creates a file in debugfs with the given name that
10771077
* contains the value of the variable @value. If the @mode variable is so
@@ -1080,6 +1080,9 @@ static const struct file_operations fops_str_wo = {
10801080
void debugfs_create_str(const char *name, umode_t mode,
10811081
struct dentry *parent, char **value)
10821082
{
1083+
if (WARN_ON(!value || !*value))
1084+
return;
1085+
10831086
debugfs_create_mode_unsafe(name, mode, parent, value, &fops_str,
10841087
&fops_str_ro, &fops_str_wo);
10851088
}

0 commit comments

Comments
 (0)