Subject: Re: linux-next: Tree for Feb 8 (objtool: warnings: 5)

From: Peter Zijlstra <[email-masked]>
Date: Tue, 9 Feb 2021 09:06:00 +0100

On Mon, Feb 08, 2021 at 03:21:53PM -0600, Josh Poimboeuf wrote:

> > fs/select.o: warning: objtool: do_sys_poll()+0x8e9: call to __ubsan_handle_sub_overflow() with UACCESS enabled
> > lib/iov_iter.o: warning: objtool: iovec_from_user.part.12()+0x2db: call to __ubsan_handle_add_overflow() with UACCESS enabled
> 
> Peter, we need the patch to prevent UBSAN with gcc7?

I send it a while ago, Andrey wasn't liking it or something :/ But yes,
UBSAN on <GCC8 is buggered. Randy ought to be aware of that though.
Maybe he wanted something like the below?

> > vmlinux.o: warning: objtool: do_machine_check()+0x7ee: call to queue_task_work() leaves .noinstr.text section
> > vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section
> 
> Peter?

The mce one is a rats nest, Boris has that on his todo list. I'll go
look at the lockdep one.

---
 lib/Kconfig.ubsan | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index 3a0b1c930733..6e4634b3b40e 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -116,6 +116,7 @@ config UBSAN_SIGNED_OVERFLOW
 	bool "Perform checking for signed arithmetic overflow"
 	default UBSAN
 	depends on $(cc-option,-fsanitize=signed-integer-overflow)
+	depends on !CC_IS_GCC || GCC_VERSION >= 80000
 	help
 	  This option enables -fsanitize=signed-integer-overflow which checks
 	  for overflow of any arithmetic operations with signed integers.