Revert "btrfs: reject unknown mount options early"
authorDavid Sterba <dsterba@suse.com>
Tue, 10 Oct 2023 13:27:56 +0000 (15:27 +0200)
committerDavid Sterba <dsterba@suse.com>
Tue, 10 Oct 2023 13:27:56 +0000 (15:27 +0200)
This reverts commit 5f521494cc73520ffac18ede0758883b9aedd018.

The patch breaks mounts with security mount options like

  $ mount -o context=system_u:object_r:root_t:s0 /dev/sdX /mn
  mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdX, missing codepage or helper program, ...

We cannot reject all unknown options in btrfs_parse_subvol_options() as
intended, the security options can be present at this point and it's not
possible to enumerate them in a future proof way. This means unknown
mount options are silently accepted like before when the filesystem is
mounted with either -o subvol=/path or as followup mounts of the same
device.

Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index f49e597..1a093ec 100644 (file)
@@ -954,10 +954,6 @@ static int btrfs_parse_subvol_options(const char *options, char **subvol_name,
 
                        *subvol_objectid = subvolid;
                        break;
-               case Opt_err:
-                       btrfs_err(NULL, "unrecognized mount option '%s'", p);
-                       error = -EINVAL;
-                       goto out;
                default:
                        break;
                }