@@ -6379,6 +6379,7 @@ sub process {
foreach my $entry (@mode_permission_funcs) {
my $func = $entry->[0];
my $arg_pos = $entry->[1];
+ my $exclude_func = $entry->[2];
my $lc = $stat =~ tr@\n@@;
$lc = $lc + $linenr;
@@ -6392,8 +6393,14 @@ sub process {
$arg_pos--;
$skip_args = "(?:\\s*$FuncArg\\s*,\\s*){$arg_pos,$arg_pos}";
}
+
my $test = "\\b$func\\s*\\(${skip_args}($FuncArg(?:\\|\\s*$FuncArg)*)\\s*[,\\)]";
if ($stat =~ /$test/) {
+ if ($exclude_func) {
+ my $exclude_test = "\\b$exclude_func\\s*\\(${skip_args}($FuncArg(?:\\|\\s*$FuncArg)*)\\s*[,\\)]";
+ next if ($stat =~ /$exclude_test/);
+ }
+
my $val = $1;
$val = $6 if ($skip_args ne "");
if (!($func =~ /^(?:module_param|proc_create)/ && $val eq "0") &&