On Mon, Aug 27, 2018 at 10:33 PM, Joe Perches <j...@perches.com> 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 <keesc...@chromium.org>
> Signed-off-by: Joe Perches <j...@perches.com>

Tested-by: Kees Cook <keesc...@chromium.org>

-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

Reply via email to