If a patch contains multiple files, it is possible to pass through the check because the count of token mentions is not reset between file evaluation.
Example with a fake patch: $ cat toto.patch --- a/drivers/plop1 +++ b/drivers/plop1 - RTE_LOG( - RTE_LOG( + RTE_LOG( --- a/drivers/plop2 +++ b/drivers/plop2 + RTE_LOG( $ awk -v FOLDERS='drivers' -v EXPRESSIONS='RTE_LOG\\(' -v MESSAGE='Prefer RTE_LOG_LINE' -f devtools/check-forbidden-tokens.awk toto.patch Besides, the expressions[] array is not used since commit b467d38284b1 ("devtools: add explicit warnings for forbidden tokens"). Fixes: 42f4d724ec27 ("devtools: move awk script ckecking forbidden tokens") Signed-off-by: David Marchand <david.march...@redhat.com> --- devtools/check-forbidden-tokens.awk | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/devtools/check-forbidden-tokens.awk b/devtools/check-forbidden-tokens.awk index 90d3a64f8e..807dad7f48 100755 --- a/devtools/check-forbidden-tokens.awk +++ b/devtools/check-forbidden-tokens.awk @@ -32,14 +32,11 @@ BEGIN { for (i in deny_expr) { forbidden_added = "^\\+.*" deny_expr[i]; forbidden_removed="^-.*" deny_expr[i]; - current = expressions[deny_expr[i]] if ($0 ~ forbidden_added) { - count = count + 1; - expressions[deny_expr[i]] = current + 1 + count = count + 1 } if ($0 ~ forbidden_removed) { - count = count - 1; - expressions[deny_expr[i]] = current - 1 + count = count - 1 } } } @@ -55,6 +52,7 @@ BEGIN { if (count > 0) { exit; } + count = 0 for (i in deny_folders) { re = "^\\+\\+\\+ b/" deny_folders[i]; if ($0 ~ re) { -- 2.46.0