[PATCH] checkpatch: Add check for array allocator family argument order

Liao Chang posted 1 patch 3 years, 5 months ago
There is a newer version of this series
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] checkpatch: Add check for array allocator family argument order
Posted by Liao Chang 3 years, 5 months ago
These array allocator family are sometimes misused with the first and
second arguments switchted.

Same issue with calloc, kvcalloc, kvmalloc_array etc.

Bleat if sizeof is the first argument.

Link: https://lkml.org/lkml/2022/11/3/668
Signed-off-by: Liao Chang <liaochang1@huawei.com>
---
 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 1e5e66ae5a52..a9a9dc277cff 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -7128,7 +7128,7 @@ sub process {
 		}
 
 # check for alloc argument mismatch
-		if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) {
+		if ($line =~ /\b((?:devm_)?((?:k|kv)?(calloc|malloc_array)(?:_node)?))\s*\(\s*sizeof\b/) {
 			WARN("ALLOC_ARRAY_ARGS",
 			     "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
 		}
-- 
2.17.1
Re: [PATCH] checkpatch: Add check for array allocator family argument order
Posted by Joe Perches 3 years, 5 months ago
On Fri, 2022-11-04 at 12:00 +0800, Liao Chang wrote:
> These array allocator family are sometimes misused with the first and
> second arguments switchted.
> 
> Same issue with calloc, kvcalloc, kvmalloc_array etc.
> 
> Bleat if sizeof is the first argument.
> 
> Link: https://lkml.org/lkml/2022/11/3/668

You might use the -next version of checkpatch on this and find out
it's generally better to use lore links like:

https://lore.kernel.org/lkml/5374345c-7973-6a3c-d559-73bf4ac15079@redhat.com/

> Signed-off-by: Liao Chang <liaochang1@huawei.com>

Acked-by: Joe Perches <joe@perches.com>

cheers, Joe

> ---
>  scripts/checkpatch.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 1e5e66ae5a52..a9a9dc277cff 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -7128,7 +7128,7 @@ sub process {
>  		}
>  
>  # check for alloc argument mismatch
> -		if ($line =~ /\b((?:devm_)?(?:kcalloc|kmalloc_array))\s*\(\s*sizeof\b/) {
> +		if ($line =~ /\b((?:devm_)?((?:k|kv)?(calloc|malloc_array)(?:_node)?))\s*\(\s*sizeof\b/) {
>  			WARN("ALLOC_ARRAY_ARGS",
>  			     "$1 uses number as first arg, sizeof is generally wrong\n" . $herecurr);
>  		}