On Fri, May 31, 2019 at 03:12:27AM +0200, Matteo Croce wrote:
> Commit 6a33853c5773 ("proc/sysctl: add shared variables for range check")
> adds some shared const variables to be used instead of a local copy in
> each source file.
> Warn when a chunk duplicates one of these values in a ctl_table struct:
> 
>     $ scripts/checkpatch.pl 0001-test-commit.patch
>     WARNING: duplicated sysctl range checking value 'zero', consider using 
> the shared one in include/linux/sysctl.h
>     #27: FILE: arch/arm/kernel/isa.c:48:
>     +               .extra1         = &zero,
> 
>     WARNING: duplicated sysctl range checking value 'int_max', consider using 
> the shared one in include/linux/sysctl.h
>     #28: FILE: arch/arm/kernel/isa.c:49:
>     +               .extra2         = &int_max,
> 
>     total: 0 errors, 2 warnings, 14 lines checked
> 
> Signed-off-by: Matteo Croce <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

-Kees

> ---
>  scripts/checkpatch.pl | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 342c7c781ba5..629c31435487 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -6639,6 +6639,12 @@ sub process {
>                                    "unknown module license " . 
> $extracted_string . "\n" . $herecurr);
>                       }
>               }
> +
> +# check for sysctl duplicate constants
> +             if ($line =~ /\.extra[12]\s*=\s*&(zero|one|int_max|max_int)\b/) 
> {
> +                     WARN("DUPLICATED_SYSCTL_CONST",
> +                             "duplicated sysctl range checking value '$1', 
> consider using the shared one in include/linux/sysctl.h\n" . $herecurr);
> +             }
>       }
>  
>       # If we have no input at all, then there is nothing to report on
> -- 
> 2.21.0
> 

-- 
Kees Cook

Reply via email to