diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/compiler-clang.h | 3 | ||||
| -rw-r--r-- | include/linux/compiler_types.h | 4 | ||||
| -rw-r--r-- | include/linux/init.h | 2 | 
3 files changed, 8 insertions, 1 deletions
| diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h index 4fc8e26914ad..fa4ffe037bc7 100644 --- a/include/linux/compiler-clang.h +++ b/include/linux/compiler-clang.h @@ -89,6 +89,9 @@  #define __no_sanitize_coverage  #endif +/* Only Clang needs to disable the coverage sanitizer for kstack_erase. */ +#define __no_kstack_erase	__no_sanitize_coverage +  #if __has_feature(shadow_call_stack)  # define __noscs	__attribute__((__no_sanitize__("shadow-call-stack")))  #endif diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index 2b77d12e07b2..16755431fc11 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -424,6 +424,10 @@ struct ftrace_likely_data {  # define randomized_struct_fields_end  #endif +#ifndef __no_kstack_erase +# define __no_kstack_erase +#endif +  #ifndef __noscs  # define __noscs  #endif diff --git a/include/linux/init.h b/include/linux/init.h index c65a050d52a7..a60d32d227ee 100644 --- a/include/linux/init.h +++ b/include/linux/init.h @@ -51,7 +51,7 @@     discard it in modules) */  #define __init		__section(".init.text") __cold __latent_entropy	\  						__noinitretpoline	\ -						__no_sanitize_coverage +						__no_kstack_erase  #define __initdata	__section(".init.data")  #define __initconst	__section(".init.rodata")  #define __exitdata	__section(".exit.data") | 
