The kernel provides the __nonnull_args() macro as the preferred form for marking pointer arguments as non-NULL. Add a check suggesting the macro over the raw __attribute__((nonnull)) spelling, consistent with the existing attribute conversion suggestions. Examples: WARNING: Prefer __nonnull_args(1, 2) over __attribute__((nonnull(1, 2))) #11: FILE: drivers/soc/aspeed/aspeed-lpc-snoop.c:230: +__attribute__((nonnull(1, 2))) WARNING: Prefer __nonnull_args() over __attribute__((nonnull)) #11: FILE: drivers/soc/aspeed/aspeed-lpc-snoop.c:283: +__attribute__((nonnull)) Signed-off-by: Dmitry Ilvokhin --- scripts/checkpatch.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index c9840f5219c2..e696fcd02337 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -6856,6 +6856,7 @@ sub process { "no_caller_saved_registers" => "__no_caller_saved_registers", "noclone" => "__noclone", "noinline" => "noinline", + "nonnull" => "__nonnull_args", "nonstring" => "__nonstring", "noreturn" => "__noreturn", "packed" => "__packed", @@ -6876,6 +6877,8 @@ sub process { if ($curr_attr eq "format" && $params) { $params =~ /^\s*\(\s*(\w+)\s*,\s*(.*)/; $new = "__$1\($2"; + } elsif ($curr_attr eq "nonnull" && $params eq "") { + $new = "$new()"; } else { $new = "$new$params"; } -- 2.53.0-Meta