The patch titled Subject: checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE has been added to the -mm tree. Its filename is checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Vincent Mailhol <mailhol.vincent@xxxxxxxxxx> Subject: checkpatch: exclude four preprocessor sub-expressions from MACRO_ARG_REUSE __must_be_array, offsetof, sizeof_field and __stringify are all preprocessor macros and do not evaluate their arguments. As such, it is safe not to warn when arguments are being reused in those four sub-expressions. Exclude those so that they can pass checkpatch. Link: https://lkml.kernel.org/r/20210407105042.25380-1-mailhol.vincent@xxxxxxxxxx Signed-off-by: Vincent Mailhol <mailhol.vincent@xxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/checkpatch.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/scripts/checkpatch.pl~checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse +++ a/scripts/checkpatch.pl @@ -5736,7 +5736,7 @@ sub process { next if ($arg =~ /\.\.\./); next if ($arg =~ /^type$/i); my $tmp_stmt = $define_stmt; - $tmp_stmt =~ s/\b(sizeof|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g; + $tmp_stmt =~ s/\b(__must_be_array|offsetof|sizeof|sizeof_field|__stringify|typeof|__typeof__|__builtin\w+|typecheck\s*\(\s*$Type\s*,|\#+)\s*\(*\s*$arg\s*\)*\b//g; $tmp_stmt =~ s/\#+\s*$arg\b//g; $tmp_stmt =~ s/\b$arg\s*\#\#//g; my $use_cnt = () = $tmp_stmt =~ /\b$arg\b/g; _ Patches currently in -mm which might be from mailhol.vincent@xxxxxxxxxx are checkpatch-exclude-four-preprocessor-sub-expressions-from-macro_arg_reuse.patch