Hi Kees, On Fri, Feb 23, 2024 at 08:59:45AM -0800, Kees Cook wrote: > The UBSAN instrumentation cannot work in the vDSO since it is executing > in userspace, so disable it in the Makefile. Fixes the build failures > such as: > > arch/sparc/vdso/vclock_gettime.c:217: undefined reference to > `__ubsan_handle_shift_out_of_bounds' > > Signed-off-by: Kees Cook <keesc...@chromium.org> > --- > Cc: "David S. Miller" <da...@davemloft.net> > Cc: Andreas Larsson <andr...@gaisler.com> > Cc: Masahiro Yamada <masahi...@kernel.org> > Cc: Sam Ravnborg <s...@ravnborg.org> > Cc: Helge Deller <del...@gmx.de> > Cc: Guo Ren <guo...@kernel.org> > Cc: sparcli...@vger.kernel.org > --- > arch/sparc/vdso/Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/sparc/vdso/Makefile b/arch/sparc/vdso/Makefile > index 7f5eedf1f5e0..e8aef2c8ae99 100644 > --- a/arch/sparc/vdso/Makefile > +++ b/arch/sparc/vdso/Makefile > @@ -2,6 +2,7 @@ > # > # Building vDSO images for sparc. > # > +UBSAN_SANITIZE := n
When I read: config UBSAN_SANITIZE_ALL bool "Enable instrumentation for the entire kernel" depends on ARCH_HAS_UBSAN_SANITIZE_ALL default y help This option activates instrumentation for the entire kernel. If you don't enable this option, you have to explicitly specify UBSAN_SANITIZE := y for the files/directories you want to check for UB. Enabling this option will get kernel image size increased significantly. I am left with the understanding that only arch's that selects ARCH_HAS_UBSAN_SANITIZE_ALL would need to turn off UBSAN_SANITIZE. Are this fix papering over some other bug where we enable UBSAN_SANITIZE_ALL for arch's that should not have it, or something else that enable it? Sam