2024-02-29 16:42:02

by Luis Henriques

[permalink] [raw]
Subject: [PATCH 0/3] fs_parser: handle parameters that can be empty and don't have a value

While investigating an ext4/053 fstest failure, I realised that when the
flag 'fs_param_can_be_empty' is set in a parameter and it's value is NULL
that parameter isn't being handled as a 'flag' type. Even if it's type is
set to 'fs_value_is_flag'. The first patch in this series changes this
behaviour.

Unfortunately, the two filesystems that use this flag (ext4 and overlayfs)
aren't prepared to have the parameter value set to NULL. Patches #2 and #3
fix this.

Luis Henriques (3):
fs_parser: handle parameters that can be empty and don't have a value
ext4: fix mount parameters check for empty values
overlay: fix mount parameters check for empty values

fs/ext4/super.c | 4 ++--
fs/fs_parser.c | 3 ++-
fs/overlayfs/params.c | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)



2024-03-01 13:12:18

by Christian Brauner

[permalink] [raw]
Subject: Re: [PATCH 0/3] fs_parser: handle parameters that can be empty and don't have a value

> Unfortunately, the two filesystems that use this flag (ext4 and overlayfs)
> aren't prepared to have the parameter value set to NULL. Patches #2 and #3
> fix this.

Both ext4 and overlayfs define

#define fsparam_string_empty(NAME, OPT) \
__fsparam(fs_param_is_string, NAME, OPT, fs_param_can_be_empty, NULL)

Please add that to include/linux/fs_parser.h so that it can be used by both.