]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
debugfs: continue to ignore unknown mount options
authorChristian Brauner <brauner@kernel.org>
Mon, 27 May 2024 12:15:22 +0000 (14:15 +0200)
committerChristian Brauner <brauner@kernel.org>
Tue, 28 May 2024 12:32:42 +0000 (14:32 +0200)
Wolfram reported that debugfs remained empty on some of his boards
triggering the message "debugfs: Unknown parameter 'auto'".

The root of the issue is that we ignored unknown mount options in the
old mount api but we started rejecting unknown mount options in the new
mount api. Continue to ignore unknown mount options to not regress
userspace.

Fixes: a20971c18752 ("vfs: Convert debugfs to use the new mount API")
Link: https://lore.kernel.org/r/20240527100618.np2wqiw5mz7as3vk@ninjato
Reported-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/debugfs/inode.c

index dc51df0b118d0aa2f0853a54072457468a85132d..8fd928899a59e47b69cab5c69f00c4fa81a32827 100644 (file)
@@ -107,8 +107,16 @@ static int debugfs_parse_param(struct fs_context *fc, struct fs_parameter *param
        int opt;
 
        opt = fs_parse(fc, debugfs_param_specs, param, &result);
-       if (opt < 0)
+       if (opt < 0) {
+               /*
+                * We might like to report bad mount options here; but
+                * traditionally debugfs has ignored all mount options
+                */
+               if (opt == -ENOPARAM)
+                       return 0;
+
                return opt;
+       }
 
        switch (opt) {
        case Opt_uid: