mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
UPSTREAM: compiler: introduce __no_sanitize_address_or_inline
(Upstream commit dde709d136).
Due to conflict between kasan instrumentation and inlining
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368 functions which are
defined as inline could not be called from functions defined with
__no_sanitize_address.
Introduce __no_sanitize_address_or_inline which would expand to
__no_sanitize_address when the kernel is built with kasan support and
to inline otherwise. This helps to avoid disabling kasan
instrumentation for entire files.
Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Bug: 128674696
Change-Id: If81ec5a63ae788bfe1a31a1678f9509daa76b01f
This commit is contained in:
committed by
Alistair Delva
parent
6825eaad35
commit
e18e6f7eb3
@@ -190,6 +190,12 @@
|
||||
* Conflicts with inlining: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67368
|
||||
*/
|
||||
#define __no_sanitize_address __attribute__((no_sanitize_address))
|
||||
#ifdef CONFIG_KASAN
|
||||
#define __no_sanitize_address_or_inline \
|
||||
__no_sanitize_address __maybe_unused notrace
|
||||
#else
|
||||
#define __no_sanitize_address_or_inline inline
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if GCC_VERSION >= 50100
|
||||
@@ -211,6 +217,7 @@
|
||||
|
||||
#if !defined(__no_sanitize_address)
|
||||
#define __no_sanitize_address
|
||||
#define __no_sanitize_address_or_inline inline
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user