Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
John Paul Adrian Glaubitz <[email protected]>
| Newsgroups | gmane.linux.ports.sh.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <9fda57fc1b1ba6ad9bd6f7df3fb12674d0f4f940.camel@physik.fu-berlin.de> |
Hi Kees, On Fri, 2024-02-02 at 02:32 -0800, Kees Cook wrote: > On Wed, Jan 31, 2024 at 12:19:22PM +0100, John Paul Adrian Glaubitz wrote: > > Hi Kees, > > > > On Wed, 2024-01-31 at 12:03 +0100, John Paul Adrian Glaubitz wrote: > > > Hi Kees, > > > > > > On Tue, 2024-01-30 at 15:27 -0800, Kees Cook wrote: > > > > The early boot stub for sh had UBSan instrumentation present where it is > > > > not supported. Disable it for this part of the build. > > > > > > > > sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflate_table': > > > > misc.c:(.text+0x670): undefined reference to `__ubsan_handle_shift_out_of_bounds' > > > > > > > > Reported-by: kernel test robot <[email protected]> > > > > Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ > > > > Cc: Yoshinori Sato <[email protected]> > > > > Cc: Rich Felker <[email protected]> > > > > Cc: John Paul Adrian Glaubitz <[email protected]> > > > > Cc: Masahiro Yamada <[email protected]> > > > > Cc: Nicolas Schier <[email protected]> > > > > Cc: [email protected] > > > > Signed-off-by: Kees Cook <[email protected]> > > > > --- > > > > arch/sh/boot/compressed/Makefile | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile > > > > index b5e29f99c02c..6c6c791a1d06 100644 > > > > --- a/arch/sh/boot/compressed/Makefile > > > > +++ b/arch/sh/boot/compressed/Makefile > > > > @@ -12,6 +12,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 \ > > > > vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo $(OBJECTS) > > > > > > > > GCOV_PROFILE := n > > > > +UBSAN_SANITIZE := n > > > > > > > > # > > > > # IMAGE_OFFSET is the load offset of the compression loader > > > > > > Thanks for the patch. I'm looking into this now and will provide the review later. > > > > I tried to reproduce the error using your tree and the branch devel/overflow/ubsan-only > > minus the above patch and using the provided config but I'm unable to reproduce the > > error above. > > > > Am I missing anything? > > When I use GCC 13.2 (I'm specifically on Ubuntu 23.10) and the randconfig > linked from the report: > https://download.01.org/0day-ci/archive/20240131/[email protected]/config > (which is notably enabling CONFIG_UBSAN=y and CONFIG_UBSAN_SHIFT=y) then I > see at the final link stage: > > /usr/bin/sh4-linux-gnu-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflate_table': > misc.c:(.text+0x650): undefined reference to `__ubsan_handle_shift_out_of_bounds' > ... > > After the patch, it's solved. OK, let me test with gcc 13.x. My build host is currently running openSUSE Leap 15.5. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913