Compiler Attributes: remove CONFIG_ENABLE_MUST_CHECK

Revert commit cebc04ba9a ("add CONFIG_ENABLE_MUST_CHECK").

A lot of warn_unused_result warnings existed in 2006, but until now
they have been fixed thanks to people doing allmodconfig tests.

Our goal is to always enable __must_check where appropriate, so this
CONFIG option is no longer needed.

I see a lot of defconfig (arch/*/configs/*_defconfig) files having:

    # CONFIG_ENABLE_MUST_CHECK is not set

I did not touch them for now since it would be a big churn. If arch
maintainers want to clean them up, please go ahead.

While I was here, I also moved __must_check to compiler_attributes.h
from compiler_types.h

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
[Moved addition in compiler_attributes.h to keep it sorted]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
This commit is contained in:
Masahiro Yamada 2020-11-29 04:33:35 +09:00 committed by Miguel Ojeda
parent b650545978
commit 1967939462
4 changed files with 6 additions and 15 deletions

View File

@ -272,6 +272,12 @@
*/ */
#define __used __attribute__((__used__)) #define __used __attribute__((__used__))
/*
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-warn_005funused_005fresult-function-attribute
* clang: https://clang.llvm.org/docs/AttributeReference.html#nodiscard-warn-unused-result
*/
#define __must_check __attribute__((__warn_unused_result__))
/* /*
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-weak-function-attribute * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-weak-function-attribute
* gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-weak-variable-attribute * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-weak-variable-attribute

View File

@ -110,12 +110,6 @@ struct ftrace_likely_data {
unsigned long constant; unsigned long constant;
}; };
#ifdef CONFIG_ENABLE_MUST_CHECK
#define __must_check __attribute__((__warn_unused_result__))
#else
#define __must_check
#endif
#if defined(CC_USING_HOTPATCH) #if defined(CC_USING_HOTPATCH)
#define notrace __attribute__((hotpatch(0, 0))) #define notrace __attribute__((hotpatch(0, 0)))
#elif defined(CC_USING_PATCHABLE_FUNCTION_ENTRY) #elif defined(CC_USING_PATCHABLE_FUNCTION_ENTRY)

View File

@ -286,14 +286,6 @@ config GDB_SCRIPTS
endif # DEBUG_INFO endif # DEBUG_INFO
config ENABLE_MUST_CHECK
bool "Enable __must_check logic"
default y
help
Enable the __must_check logic in the kernel build. Disable this to
suppress the "warning: ignoring return value of 'foo', declared with
attribute warn_unused_result" messages.
config FRAME_WARN config FRAME_WARN
int "Warn for stack frames larger than" int "Warn for stack frames larger than"
range 0 8192 range 0 8192

View File

@ -1,5 +1,4 @@
CONFIG_LOCALVERSION="-debug" CONFIG_LOCALVERSION="-debug"
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_POINTER=y CONFIG_FRAME_POINTER=y
CONFIG_STACK_VALIDATION=y CONFIG_STACK_VALIDATION=y
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y