[PATCH] vfs: Handle fs_param_neg_with_empty

From: David Howells
Date: Wed Oct 16 2019 - 06:37:58 EST


Make fs_param_neg_with_empty work. It says that a parameter with no value
or and empty value should be marked as negated.

This is intended for use with ext4, which hadn't yet been converted.

Fixes: 31d921c7fb96 ("vfs: Add configuration parser helpers")
Reported-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
---

fs/fs_parser.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/fs/fs_parser.c b/fs/fs_parser.c
index d1930adce68d..f95997a76738 100644
--- a/fs/fs_parser.c
+++ b/fs/fs_parser.c
@@ -129,6 +129,11 @@ int fs_parse(struct fs_context *fc,
case fs_param_is_string:
if (param->type != fs_value_is_string)
goto bad_value;
+ if ((p->flags & fs_param_neg_with_empty) &&
+ (!result->has_value || !param->string[0])) {
+ result->negated = true;
+ goto okay;
+ }
if (!result->has_value) {
if (p->flags & fs_param_v_optional)
goto okay;