linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] sh: Fix build with CONFIG_UBSAN=y
@ 2024-01-30 23:27 Kees Cook
  2024-01-31 11:03 ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: Kees Cook @ 2024-01-30 23:27 UTC (permalink / raw)
  To: Yoshinori Sato
  Cc: Kees Cook, kernel test robot, Rich Felker,
	John Paul Adrian Glaubitz, Masahiro Yamada, Nicolas Schier,
	linux-sh, linux-kernel, linux-hardening

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 <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202401310416.s8HLiLnC-lkp@intel.com/
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nicolas Schier <n.schier@avm.de>
Cc: linux-sh@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 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
-- 
2.34.1


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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-01-30 23:27 [PATCH] sh: Fix build with CONFIG_UBSAN=y Kees Cook
@ 2024-01-31 11:03 ` John Paul Adrian Glaubitz
  2024-01-31 11:19   ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-01-31 11:03 UTC (permalink / raw)
  To: Kees Cook, Yoshinori Sato
  Cc: kernel test robot, Rich Felker, Masahiro Yamada, Nicolas Schier,
	linux-sh, linux-kernel, linux-hardening

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 <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202401310416.s8HLiLnC-lkp@intel.com/
> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> Cc: Rich Felker <dalias@libc.org>
> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Cc: Nicolas Schier <n.schier@avm.de>
> Cc: linux-sh@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>  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.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-01-31 11:03 ` John Paul Adrian Glaubitz
@ 2024-01-31 11:19   ` John Paul Adrian Glaubitz
  2024-02-02 10:32     ` Kees Cook
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-01-31 11:19 UTC (permalink / raw)
  To: Kees Cook, Yoshinori Sato
  Cc: kernel test robot, Rich Felker, Masahiro Yamada, Nicolas Schier,
	linux-sh, linux-kernel, linux-hardening

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 <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202401310416.s8HLiLnC-lkp@intel.com/
> > Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> > Cc: Rich Felker <dalias@libc.org>
> > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > Cc: Nicolas Schier <n.schier@avm.de>
> > Cc: linux-sh@vger.kernel.org
> > Signed-off-by: Kees Cook <keescook@chromium.org>
> > ---
> >  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?

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-01-31 11:19   ` John Paul Adrian Glaubitz
@ 2024-02-02 10:32     ` Kees Cook
  2024-02-02 11:06       ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: Kees Cook @ 2024-02-02 10:32 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

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 <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202401310416.s8HLiLnC-lkp@intel.com/
> > > Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> > > Cc: Rich Felker <dalias@libc.org>
> > > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> > > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > > Cc: Nicolas Schier <n.schier@avm.de>
> > > Cc: linux-sh@vger.kernel.org
> > > Signed-off-by: Kees Cook <keescook@chromium.org>
> > > ---
> > >  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/202401310416.s8HLiLnC-lkp@intel.com/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.

-Kees

-- 
Kees Cook

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-02 10:32     ` Kees Cook
@ 2024-02-02 11:06       ` John Paul Adrian Glaubitz
  2024-02-11 10:39         ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-02-02 11:06 UTC (permalink / raw)
  To: Kees Cook
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

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 <lkp@intel.com>
> > > > Closes: https://lore.kernel.org/oe-kbuild-all/202401310416.s8HLiLnC-lkp@intel.com/
> > > > Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> > > > Cc: Rich Felker <dalias@libc.org>
> > > > Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
> > > > Cc: Masahiro Yamada <masahiroy@kernel.org>
> > > > Cc: Nicolas Schier <n.schier@avm.de>
> > > > Cc: linux-sh@vger.kernel.org
> > > > Signed-off-by: Kees Cook <keescook@chromium.org>
> > > > ---
> > > >  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/202401310416.s8HLiLnC-lkp@intel.com/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

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-02 11:06       ` John Paul Adrian Glaubitz
@ 2024-02-11 10:39         ` John Paul Adrian Glaubitz
  2024-02-12 18:26           ` Kees Cook
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-02-11 10:39 UTC (permalink / raw)
  To: Kees Cook
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

Hi Kees,

On Fri, 2024-02-02 at 12:06 +0100, John Paul Adrian Glaubitz wrote:
> > 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/202401310416.s8HLiLnC-lkp@intel.com/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.

I just wanted to try reproduce the problem again with the reproducer in [1] as well
as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.

Can you tell me where to find the patches now?

Adrian

> [1] https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/reproduce

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-11 10:39         ` John Paul Adrian Glaubitz
@ 2024-02-12 18:26           ` Kees Cook
  2024-02-12 18:45             ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: Kees Cook @ 2024-02-12 18:26 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

On Sun, Feb 11, 2024 at 11:39:49AM +0100, John Paul Adrian Glaubitz wrote:
> Hi Kees,
> 
> On Fri, 2024-02-02 at 12:06 +0100, John Paul Adrian Glaubitz wrote:
> > > 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/202401310416.s8HLiLnC-lkp@intel.com/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.
> 
> I just wanted to try reproduce the problem again with the reproducer in [1] as well
> as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.
> 
> Can you tell me where to find the patches now?

Sure, they're in -next, but for an -rc2 based tree, see:
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/kspp

-- 
Kees Cook

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-12 18:26           ` Kees Cook
@ 2024-02-12 18:45             ` John Paul Adrian Glaubitz
  2024-02-14 12:52               ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-02-12 18:45 UTC (permalink / raw)
  To: Kees Cook
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

On Mon, 2024-02-12 at 10:26 -0800, Kees Cook wrote:
> > I just wanted to try reproduce the problem again with the reproducer in [1] as well
> > as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.
> > 
> > Can you tell me where to find the patches now?
> 
> Sure, they're in -next, but for an -rc2 based tree, see:
> https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/kspp

OK, thanks. I will give it a try with gcc-13.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-12 18:45             ` John Paul Adrian Glaubitz
@ 2024-02-14 12:52               ` John Paul Adrian Glaubitz
  2024-03-01  5:46                 ` Liu, Yujie
  0 siblings, 1 reply; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-02-14 12:52 UTC (permalink / raw)
  To: Kees Cook
  Cc: Yoshinori Sato, kernel test robot, Rich Felker, Masahiro Yamada,
	Nicolas Schier, linux-sh, linux-kernel, linux-hardening

Hi Kees,

On Mon, 2024-02-12 at 19:45 +0100, John Paul Adrian Glaubitz wrote:
> On Mon, 2024-02-12 at 10:26 -0800, Kees Cook wrote:
> > > I just wanted to try reproduce the problem again with the reproducer in [1] as well
> > > as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.
> > > 
> > > Can you tell me where to find the patches now?
> > 
> > Sure, they're in -next, but for an -rc2 based tree, see:
> > https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/kspp
> 
> OK, thanks. I will give it a try with gcc-13.

I'm still unable to reproduce the error that the kernel test robot reported.

I'm using gcc-13:

glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc
sh4-linux-gcc: fatal error: no input files
compilation terminated.
glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc --version
sh4-linux-gcc (GCC) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

glaubitz@node54:/data/home/glaubitz/linux-kees>

I checked out your tree and the for-next/kspp branch.

Then fetched the config that triggered the bug like this:

$ wget https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/config -O .config

Building the kernel with "make -j32 uImage" works fine. No errors except for
some unreleated warnings that still need to be fixed.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-02-14 12:52               ` John Paul Adrian Glaubitz
@ 2024-03-01  5:46                 ` Liu, Yujie
  2024-03-01 14:38                   ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 11+ messages in thread
From: Liu, Yujie @ 2024-03-01  5:46 UTC (permalink / raw)
  To: glaubitz
  Cc: lkp, masahiroy, dalias, linux-sh, keescook, linux-kernel, ysato,
	linux-hardening, Schier, Nicolas

Hi Adrian,

On Wed, 2024-02-14 at 13:52 +0100, John Paul Adrian Glaubitz wrote:
> Hi Kees,
> 
> On Mon, 2024-02-12 at 19:45 +0100, John Paul Adrian Glaubitz wrote:
> > On Mon, 2024-02-12 at 10:26 -0800, Kees Cook wrote:
> > > > I just wanted to try reproduce the problem again with the reproducer in [1] as well
> > > > as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.
> > > > 
> > > > Can you tell me where to find the patches now?
> > > 
> > > Sure, they're in -next, but for an -rc2 based tree, see:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/kspp
> > 
> > OK, thanks. I will give it a try with gcc-13.
> 
> I'm still unable to reproduce the error that the kernel test robot reported.
> 
> I'm using gcc-13:
> 
> glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc
> sh4-linux-gcc: fatal error: no input files
> compilation terminated.
> glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc --version
> sh4-linux-gcc (GCC) 13.2.0
> Copyright (C) 2023 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> glaubitz@node54:/data/home/glaubitz/linux-kees>
> 
> I checked out your tree and the for-next/kspp branch.
> 
> Then fetched the config that triggered the bug like this:
> 
> $ wget https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/config -O .config
> 
> Building the kernel with "make -j32 uImage" works fine. No errors except for
> some unreleated warnings that still need to be fixed.

Sorry for late reply. Seems like the warnings can be reproduced by
"make zImage" which is the default make target, but cannot be
reproduced by "make uImage".

HEAD is now at 918327e9b7ffb ubsan: Remove CONFIG_UBSAN_SANITIZE_ALL

$ wget https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/config -O .config
$ sh4-linux-gcc --version
sh4-linux-gcc (GCC) 13.2.0

$ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh olddefconfig
$ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh
...
  LD      arch/sh/boot/compressed/vmlinux
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'
sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `inflate_fast':
misc.c:(.text+0xc5c): undefined reference to `__ubsan_handle_shift_out_of_bounds'
sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflateReset':
misc.c:(.text+0xd00): undefined reference to `__ubsan_handle_shift_out_of_bounds'
sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflate':
misc.c:(.text+0x23fc): undefined reference to `__ubsan_handle_shift_out_of_bounds'
sh4-linux-ld: arch/sh/boot/compressed/ashldi3.o: in function `__ashldi3':
ashldi3.c:(.text+0xc8): undefined reference to `__ubsan_handle_shift_out_of_bounds'
make[3]: *** [arch/sh/boot/compressed/Makefile:38: arch/sh/boot/compressed/vmlinux] Error 1
make[2]: *** [arch/sh/boot/Makefile:40: arch/sh/boot/compressed/vmlinux] Error 2
make[1]: *** [arch/sh/Makefile:170: zImage] Error 2
make: *** [Makefile:240: __sub-make] Error 2

$ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh uImage
...
  OBJCOPY arch/sh/boot/vmlinux.bin
  GZIP    arch/sh/boot/vmlinux.bin.gz
  UIMAGE  arch/sh/boot/uImage.gz
Image Name:   Linux-6.8.0-rc2+
Created:      Fri Mar  1 13:31:36 2024
Image Type:   SuperH Linux Kernel Image (gzip compressed)
Data Size:    9297141 Bytes = 9079.24 KiB = 8.87 MiB
Load Address: 08001000
Entry Point:  08002000
  Image arch/sh/boot/uImage is ready

--
Best Regards,
Yujie


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

* Re: [PATCH] sh: Fix build with CONFIG_UBSAN=y
  2024-03-01  5:46                 ` Liu, Yujie
@ 2024-03-01 14:38                   ` John Paul Adrian Glaubitz
  0 siblings, 0 replies; 11+ messages in thread
From: John Paul Adrian Glaubitz @ 2024-03-01 14:38 UTC (permalink / raw)
  To: Liu, Yujie
  Cc: lkp, masahiroy, dalias, linux-sh, keescook, linux-kernel, ysato,
	linux-hardening, Schier, Nicolas

Hi Yujie,

On Fri, 2024-03-01 at 05:46 +0000, Liu, Yujie wrote:
> On Wed, 2024-02-14 at 13:52 +0100, John Paul Adrian Glaubitz wrote:
> > Hi Kees,
> > 
> > On Mon, 2024-02-12 at 19:45 +0100, John Paul Adrian Glaubitz wrote:
> > > On Mon, 2024-02-12 at 10:26 -0800, Kees Cook wrote:
> > > > > I just wanted to try reproduce the problem again with the reproducer in [1] as well
> > > > > as with gcc-13.2.0, but your branch devel/overflow/ubsan-only no longer exists.
> > > > > 
> > > > > Can you tell me where to find the patches now?
> > > > 
> > > > Sure, they're in -next, but for an -rc2 based tree, see:
> > > > https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/log/?h=for-next/kspp
> > > 
> > > OK, thanks. I will give it a try with gcc-13.
> > 
> > I'm still unable to reproduce the error that the kernel test robot reported.
> > 
> > I'm using gcc-13:
> > 
> > glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc
> > sh4-linux-gcc: fatal error: no input files
> > compilation terminated.
> > glaubitz@node54:/data/home/glaubitz/linux-kees> sh4-linux-gcc --version
> > sh4-linux-gcc (GCC) 13.2.0
> > Copyright (C) 2023 Free Software Foundation, Inc.
> > This is free software; see the source for copying conditions.  There is NO
> > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> > 
> > glaubitz@node54:/data/home/glaubitz/linux-kees>
> > 
> > I checked out your tree and the for-next/kspp branch.
> > 
> > Then fetched the config that triggered the bug like this:
> > 
> > $ wget https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/config -O .config
> > 
> > Building the kernel with "make -j32 uImage" works fine. No errors except for
> > some unreleated warnings that still need to be fixed.
> 
> Sorry for late reply. Seems like the warnings can be reproduced by
> "make zImage" which is the default make target, but cannot be
> reproduced by "make uImage".
> 
> HEAD is now at 918327e9b7ffb ubsan: Remove CONFIG_UBSAN_SANITIZE_ALL
> 
> $ wget https://download.01.org/0day-ci/archive/20240131/202401310416.s8HLiLnC-lkp@intel.com/config -O .config
> $ sh4-linux-gcc --version
> sh4-linux-gcc (GCC) 13.2.0
> 
> $ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh olddefconfig
> $ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh
> ...
>   LD      arch/sh/boot/compressed/vmlinux
> 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'
> sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `inflate_fast':
> misc.c:(.text+0xc5c): undefined reference to `__ubsan_handle_shift_out_of_bounds'
> sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflateReset':
> misc.c:(.text+0xd00): undefined reference to `__ubsan_handle_shift_out_of_bounds'
> sh4-linux-ld: arch/sh/boot/compressed/misc.o: in function `zlib_inflate':
> misc.c:(.text+0x23fc): undefined reference to `__ubsan_handle_shift_out_of_bounds'
> sh4-linux-ld: arch/sh/boot/compressed/ashldi3.o: in function `__ashldi3':
> ashldi3.c:(.text+0xc8): undefined reference to `__ubsan_handle_shift_out_of_bounds'
> make[3]: *** [arch/sh/boot/compressed/Makefile:38: arch/sh/boot/compressed/vmlinux] Error 1
> make[2]: *** [arch/sh/boot/Makefile:40: arch/sh/boot/compressed/vmlinux] Error 2
> make[1]: *** [arch/sh/Makefile:170: zImage] Error 2
> make: *** [Makefile:240: __sub-make] Error 2
> 
> $ make -j72 CROSS_COMPILE=sh4-linux- ARCH=sh uImage
> ...
>   OBJCOPY arch/sh/boot/vmlinux.bin
>   GZIP    arch/sh/boot/vmlinux.bin.gz
>   UIMAGE  arch/sh/boot/uImage.gz
> Image Name:   Linux-6.8.0-rc2+
> Created:      Fri Mar  1 13:31:36 2024
> Image Type:   SuperH Linux Kernel Image (gzip compressed)
> Data Size:    9297141 Bytes = 9079.24 KiB = 8.87 MiB
> Load Address: 08001000
> Entry Point:  08002000
>   Image arch/sh/boot/uImage is ready

Thanks a lot for pointing this out. This explains the problem.

I will have another look over the weekend and acknowledge the patch if Kees wants
to pick it up through his own tree.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

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

end of thread, other threads:[~2024-03-01 14:38 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-30 23:27 [PATCH] sh: Fix build with CONFIG_UBSAN=y Kees Cook
2024-01-31 11:03 ` John Paul Adrian Glaubitz
2024-01-31 11:19   ` John Paul Adrian Glaubitz
2024-02-02 10:32     ` Kees Cook
2024-02-02 11:06       ` John Paul Adrian Glaubitz
2024-02-11 10:39         ` John Paul Adrian Glaubitz
2024-02-12 18:26           ` Kees Cook
2024-02-12 18:45             ` John Paul Adrian Glaubitz
2024-02-14 12:52               ` John Paul Adrian Glaubitz
2024-03-01  5:46                 ` Liu, Yujie
2024-03-01 14:38                   ` John Paul Adrian Glaubitz

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).