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 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 20 Sep 2018 19:22:51 +0200 From: Miguel Ojeda <miguel.ojeda.sandonis@...il.com> To: Greg Kroah-Hartman <gregkh@...uxfoundation.org> Cc: linux-kernel@...r.kernel.org, Miguel Ojeda <miguel.ojeda.sandonis@...il.com>, Andreas Dilger <adilger.kernel@...ger.ca>, Masahiro Yamada <yamada.masahiro@...ionext.com>, Michal Marek <michal.lkml@...kovi.net>, Steven Rostedt <rostedt@...dmis.org>, Mauro Carvalho Chehab <mchehab+samsung@...nel.org>, Olof Johansson <olof@...m.net>, Konstantin Ryabitsev <konstantin@...uxfoundation.org>, "David S . Miller" <davem@...emloft.net>, Andrey Ryabinin <aryabinin@...tuozzo.com>, Kees Cook <keescook@...omium.org>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...nel.org>, Paul Lawrence <paullawrence@...gle.com>, Sandipan Das <sandipan@...ux.vnet.ibm.com>, Andrey Konovalov <andreyknvl@...gle.com>, David Woodhouse <dwmw2@...radead.org>, Will Deacon <will.deacon@....com>, Philippe Ombredanne <pombredanne@...b.com>, Paul Burton <paul.burton@...s.com>, David Rientjes <rientjes@...gle.com>, Willy Tarreau <w@....eu>, Martin Sebor <msebor@...il.com>, Christopher Li <sparse@...isli.org>, Jonathan Corbet <corbet@....net>, Theodore Ts'o <tytso@....edu>, Geert Uytterhoeven <geert@...ux-m68k.org>, Rasmus Villemoes <linux@...musvillemoes.dk>, Joe Perches <joe@...ches.com>, Arnd Bergmann <arnd@...db.de>, Dominique Martinet <asmadeus@...ewreck.org>, Stefan Agner <stefan@...er.ch>, Luc Van Oostenryck <luc.vanoostenryck@...il.com>, Nick Desaulniers <ndesaulniers@...gle.com>, Andrew Morton <akpm@...ux-foundation.org>, Linus Torvalds <torvalds@...ux-foundation.org>, linux-doc@...r.kernel.org, linux-ext4@...r.kernel.org, linux-sparse@...r.kernel.org, linux-kbuild@...r.kernel.org Subject: [PATCH v5 05/15] Compiler Attributes: remove unneeded sparse (__CHECKER__) tests 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 On top of that, __must_be_array does not need it either because: * Even ancient versions of sparse do not have a problem * BUILD_BUG_ON_ZERO() is currently disabled for __CHECKER__ Reviewed-by: Nick Desaulniers <ndesaulniers@...gle.com> Reviewed-by: Luc Van Oostenryck <luc.vanoostenryck@...il.com> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@...il.com> --- include/linux/compiler-gcc.h | 6 ++---- include/linux/compiler.h | 4 ---- include/linux/compiler_types.h | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index 3b32bbfa5a49..1ca6a51cfaa9 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h @@ -76,14 +76,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() @@ -131,7 +129,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.h b/include/linux/compiler.h index 165b1d5683ed..4030a2940d6b 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -357,11 +357,7 @@ static inline void *offset_to_ptr(const int *off) compiletime_assert(__native_word(t), \ "Need native word sized stores/loads for atomicity.") -#ifdef __CHECKER__ -#define __must_be_array(a) 0 -#else /* &a[0] degrades to a pointer: a different type from an array */ #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) -#endif #endif /* __LINUX_COMPILER_H */ diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index 5ff9cda893f4..a3eceb3ad1b3 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -218,7 +218,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
Powered by blists - more mailing lists