linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK
@ 2020-11-21 19:43 Masahiro Yamada
  2020-11-21 20:45 ` Miguel Ojeda
  2020-11-27 15:55 ` Miguel Ojeda
  0 siblings, 2 replies; 5+ messages in thread
From: Masahiro Yamada @ 2020-11-21 19:43 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Masahiro Yamada, Jason A. Donenfeld, Shuah Khan, linux-kernel,
	linux-kselftest, netdev, wireguard

Revert commit cebc04ba9aeb ("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 appreciate, 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.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 include/linux/compiler_types.h                      | 4 ----
 lib/Kconfig.debug                                   | 8 --------
 tools/testing/selftests/wireguard/qemu/debug.config | 1 -
 3 files changed, 13 deletions(-)

diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
index ac3fa37a84f9..02f6d3fbad9d 100644
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -110,11 +110,7 @@ struct ftrace_likely_data {
 	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)
 #define notrace			__attribute__((hotpatch(0, 0)))
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c789b39ed527..cb8ef4fd0d02 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -286,14 +286,6 @@ config GDB_SCRIPTS
 
 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
 	int "Warn for stack frames larger than"
 	range 0 8192
diff --git a/tools/testing/selftests/wireguard/qemu/debug.config b/tools/testing/selftests/wireguard/qemu/debug.config
index b50c2085c1ac..fe07d97df9fa 100644
--- a/tools/testing/selftests/wireguard/qemu/debug.config
+++ b/tools/testing/selftests/wireguard/qemu/debug.config
@@ -1,5 +1,4 @@
 CONFIG_LOCALVERSION="-debug"
-CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_FRAME_POINTER=y
 CONFIG_STACK_VALIDATION=y
 CONFIG_DEBUG_KERNEL=y
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK
  2020-11-21 19:43 [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK Masahiro Yamada
@ 2020-11-21 20:45 ` Miguel Ojeda
  2020-11-23  3:36   ` Masahiro Yamada
  2020-11-27 15:55 ` Miguel Ojeda
  1 sibling, 1 reply; 5+ messages in thread
From: Miguel Ojeda @ 2020-11-21 20:45 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Jason A. Donenfeld, Shuah Khan, linux-kernel, linux-kselftest,
	Network Development, wireguard, clang-built-linux,
	Nick Desaulniers

On Sat, Nov 21, 2020 at 8:44 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Our goal is to always enable __must_check where appreciate, so this
> CONFIG option is no longer needed.

This would be great. It also implies we can then move it to
`compiler_attributes.h` since it does not depend on config options
anymore.

We should also rename it to `__nodiscard`, since that is the
standardized name (coming soon to C2x and in C++ for years).

Cc'ing the Clang folks too to make them aware.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK
  2020-11-21 20:45 ` Miguel Ojeda
@ 2020-11-23  3:36   ` Masahiro Yamada
  2020-11-23 17:00     ` Miguel Ojeda
  0 siblings, 1 reply; 5+ messages in thread
From: Masahiro Yamada @ 2020-11-23  3:36 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Jason A. Donenfeld, Shuah Khan, linux-kernel,
	open list:KERNEL SELFTEST FRAMEWORK, Network Development,
	wireguard, clang-built-linux, Nick Desaulniers

On Sun, Nov 22, 2020 at 5:45 AM Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Sat, Nov 21, 2020 at 8:44 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > Our goal is to always enable __must_check where appreciate, so this
> > CONFIG option is no longer needed.
>
> This would be great. It also implies we can then move it to
> `compiler_attributes.h` since it does not depend on config options
> anymore.
>
> We should also rename it to `__nodiscard`, since that is the
> standardized name (coming soon to C2x and in C++ for years).
>
> Cc'ing the Clang folks too to make them aware.
>

I can move it to compiler_attribute.h

This attribute is supported by gcc, clang, and icc.
https://godbolt.org/z/ehd6so

I can send v2.



I do not mind renaming, but it should be done in a separate patch.




-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK
  2020-11-23  3:36   ` Masahiro Yamada
@ 2020-11-23 17:00     ` Miguel Ojeda
  0 siblings, 0 replies; 5+ messages in thread
From: Miguel Ojeda @ 2020-11-23 17:00 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Jason A. Donenfeld, Shuah Khan, linux-kernel,
	open list:KERNEL SELFTEST FRAMEWORK, Network Development,
	wireguard, clang-built-linux, Nick Desaulniers

On Mon, Nov 23, 2020 at 4:37 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> I can move it to compiler_attribute.h
>
> This attribute is supported by gcc, clang, and icc.
> https://godbolt.org/z/ehd6so
>
> I can send v2.
>
> I do not mind renaming, but it should be done in a separate patch.

Of course -- sorry, I didn't mean we had to do them now, i.e. we can
do the move and the rename later on, if you prefer.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK
  2020-11-21 19:43 [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK Masahiro Yamada
  2020-11-21 20:45 ` Miguel Ojeda
@ 2020-11-27 15:55 ` Miguel Ojeda
  1 sibling, 0 replies; 5+ messages in thread
From: Miguel Ojeda @ 2020-11-27 15:55 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Jason A. Donenfeld, Shuah Khan, linux-kernel,
	open list:KERNEL SELFTEST FRAMEWORK, Network Development,
	wireguard

On Sat, Nov 21, 2020 at 8:44 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Revert commit cebc04ba9aeb ("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 appreciate, 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.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Picked it up through compiler-attributes with the "appreciate" typo
fixed on my end. I did a quick compile-test with a minimal config.
Let's see if the -next bots complain...

Thanks!

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-11-27 15:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-21 19:43 [PATCH] compiler_attribute: remove CONFIG_ENABLE_MUST_CHECK Masahiro Yamada
2020-11-21 20:45 ` Miguel Ojeda
2020-11-23  3:36   ` Masahiro Yamada
2020-11-23 17:00     ` Miguel Ojeda
2020-11-27 15:55 ` Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).