diff options
Diffstat (limited to 'kernel/bpf/inode.c')
| -rw-r--r-- | kernel/bpf/inode.c | 14 | 
1 files changed, 12 insertions, 2 deletions
| diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c index 80da1db47c68..5a8d9f7467bf 100644 --- a/kernel/bpf/inode.c +++ b/kernel/bpf/inode.c @@ -648,12 +648,22 @@ static int bpf_parse_param(struct fs_context *fc, struct fs_parameter *param)  	int opt;  	opt = fs_parse(fc, bpf_fs_parameters, param, &result); -	if (opt < 0) +	if (opt < 0) {  		/* We might like to report bad mount options here, but  		 * traditionally we've ignored all mount options, so we'd  		 * better continue to ignore non-existing options for bpf.  		 */ -		return opt == -ENOPARAM ? 0 : opt; +		if (opt == -ENOPARAM) { +			opt = vfs_parse_fs_param_source(fc, param); +			if (opt != -ENOPARAM) +				return opt; + +			return 0; +		} + +		if (opt < 0) +			return opt; +	}  	switch (opt) {  	case OPT_MODE: |