lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 31 Aug 2018 23:55:51 +0200
From:   Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
To:     Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     Christopher Li <sparse@...isli.org>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Eli Friedman <efriedma@...eaurora.org>,
        Kees Cook <keescook@...omium.org>,
        Ingo Molnar <mingo@...nel.org>,
        Geert Uytterhoeven <geert@...ux-m68k.org>,
        Arnd Bergmann <arnd@...db.de>,
        Greg KH <gregkh@...uxfoundation.org>,
        Masahiro Yamada <yamada.masahiro@...ionext.com>,
        Joe Perches <joe@...ches.com>,
        Dominique Martinet <asmadeus@...ewreck.org>
Subject: Re: [PATCH 6/7] Compiler Attributes: remove unneeded sparse
 (__CHECKER__) tests

Hi Nick,

On Fri, Aug 31, 2018 at 11:38 PM, Nick Desaulniers
<ndesaulniers@...gle.com> wrote:
> On Fri, Aug 31, 2018 at 10:05 AM Miguel Ojeda
> <miguel.ojeda.sandonis@...il.com> wrote:
>>
>> Sparse knows about a few more attributes now, so we can remove
>> the __CHECKER__ conditions from them (which, in turn, allow us
>> to move some of them later on to compiler_attributes.h).
>>
>>   * assume_aligned: since sparse's commit ffc860b ("sparse:
>>     ignore __assume_aligned__ attribute"), included in 0.5.1
>>
>>   * error: since sparse's commit 0a04210 ("sparse: Add 'error'
>>     to ignored attributes"), included in 0.5.0
>>
>>   * hotpatch: since sparse's commit 6043210 ("sparse/parse.c:
>>     ignore hotpatch attribute"), included in 0.5.1
>>
>>   * warning: since sparse's commit 977365d ("Avoid "attribute
>>     'warning': unknown attribute" warning"), included in 0.4.2
>>
>> Cc: Eli Friedman <efriedma@...eaurora.org>
>> Cc: Christopher Li <sparse@...isli.org>
>> Cc: Kees Cook <keescook@...omium.org>
>> Cc: Ingo Molnar <mingo@...nel.org>
>> Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
>> Cc: Arnd Bergmann <arnd@...db.de>
>> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>> Cc: Masahiro Yamada <yamada.masahiro@...ionext.com>
>> Cc: Joe Perches <joe@...ches.com>
>> Cc: Dominique Martinet <asmadeus@...ewreck.org>
>> Cc: Nick Desaulniers <ndesaulniers@...gle.com>
>> Cc: Linus Torvalds <torvalds@...ux-foundation.org>
>> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
>> ---
>>  include/linux/compiler-gcc.h   | 6 ++----
>>  include/linux/compiler_types.h | 2 +-
>>  2 files changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
>> index fdf2fbe6d544..32e6ce06163f 100644
>> --- a/include/linux/compiler-gcc.h
>> +++ b/include/linux/compiler-gcc.h
>> @@ -84,14 +84,12 @@
>>
>>  #define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
>>
>> -#ifndef __CHECKER__
>>  #define __compiletime_warning(message) __attribute__((warning(message)))
>>  #define __compiletime_error(message) __attribute__((error(message)))
>>
>> -#ifdef LATENT_ENTROPY_PLUGIN
>> +#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__)
>>  #define __latent_entropy __attribute__((latent_entropy))
>>  #endif
>> -#endif /* __CHECKER__ */
>>
>>  /*
>>   * calling noreturn functions, __builtin_unreachable() and __builtin_trap()
>> @@ -139,7 +137,7 @@
>>
>>  /* gcc version specific checks */
>>
>> -#if GCC_VERSION >= 40900 && !defined(__CHECKER__)
>> +#if GCC_VERSION >= 40900
>>  /*
>>   * __assume_aligned(n, k): Tell the optimizer that the returned
>>   * pointer can be assumed to be k modulo n. The second argument is
>> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
>> index 3662b19599fc..5dddc7e0c607 100644
>> --- a/include/linux/compiler_types.h
>> +++ b/include/linux/compiler_types.h
>> @@ -216,7 +216,7 @@ struct ftrace_likely_data {
>>  #define __must_check
>>  #endif
>>
>> -#if defined(CC_USING_HOTPATCH) && !defined(__CHECKER__)
>> +#if defined(CC_USING_HOTPATCH)
>>  #define notrace                        __attribute__((hotpatch(0, 0)))
>>  #else
>>  #define notrace                        __attribute__((no_instrument_function))
>> --
>> 2.17.1
>>
>
> Everything looks correct here.  It would be good for the sparse
> maintainer to triple check the commit sha's (as those are for sparse's
> code base, not the kernel's) and have their blessing.  If Chris is

Actually, nowadays it is very easy to check in sparse's
gcc-attr-list.h file, but since the file was not always there, I tried
to find out when the support for each attribute was added.

But indeed, Chris, please let us know. (Should have CC'd you).

> happy with it, then you can add my signoff:
>
> Reviewed-by: Nick Desaulniers <ndesaulniers@...gle.com>
>
> Also, do you need to put the cc list in the commit message? Some
> people do (hopefully in an automated fashion, because I'd imagine
> manually to be difficult) but don't this it's required.  Doesn't
> matter, just curious.

Hm... I thought it was supposed to be there for all patches,
considering different patches may have to be targeted to different
people. Also, one has to manage anyway the Acked-by and Reviewed-by
per-patch, so you have to manually go through. On top of that, it is
always handy to have in case you discard a patch into a separate
series or in case you send them through a tool that picks the Cc
individually (instead of something more advanced like git-send-email).
So... I guess? Not sure if it is strictly required, though.

Cheers,
Miguel

Powered by blists - more mailing lists