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

From: Peter Zijlstra
Date: Tue Feb 09 2021 - 03:06:55 EST


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.