Re: [PATCH] checkpatch: Add __ro_after_init to known $Attribute

From: Kees Cook
Date: Tue Aug 28 2018 - 01:49:56 EST


On Mon, Aug 27, 2018 at 10:33 PM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> __ro_after_init is a specific __attribute__ that checkpatch
> does currently not understand.
>
> Add it to the known $Attribute types so that code that uses
> variables declared with __ro_after_init are not thought to
> be a modifier type.
>
> This appears as a defect in checkpatch output of code like:
>
> static bool trust_cpu __ro_after_init = IS_ENABLED(CONFIG_RANDOM_TRUST_CPU);
> [...]
> if (trust_cpu && arch_init) {
>
> where checkpatch reports:
>
> ERROR: space prohibited after that '&&' (ctx:WxW)
> if (trust_cpu && arch_init) {
>

Thanks for tracking this down!

> Reported-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>

Tested-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

> ---
> scripts/checkpatch.pl | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 5219280bf7ff..23cde9d90278 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -380,6 +380,7 @@ our $Attribute = qr{
> __noclone|
> __deprecated|
> __read_mostly|
> + __ro_after_init|
> __kprobes|
> $InitAttribute|
> ____cacheline_aligned|



--
Kees Cook
Pixel Security