Re: [PATCH] ubsan: disable unsigned-integer-overflow sanitizer with clang

From: Arnd Bergmann
Date: Wed Jan 06 2021 - 18:41:22 EST


On Thu, Jan 7, 2021 at 12:17 AM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> On Wed, Jan 06, 2021 at 11:12:18PM +0100, Arnd Bergmann wrote:
> > On Wed, Jan 6, 2021 at 10:57 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> > > On Wed, Dec 30, 2020 at 04:47:35PM +0100, Arnd Bergmann wrote:
> > > > diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
> > > > index 8b635fd75fe4..e23873282ba7 100644
> > > > --- a/lib/Kconfig.ubsan
> > > > +++ b/lib/Kconfig.ubsan
> > > > @@ -122,6 +122,8 @@ config UBSAN_SIGNED_OVERFLOW
> > > >
> > > > config UBSAN_UNSIGNED_OVERFLOW
> > > > bool "Perform checking for unsigned arithmetic overflow"
> > > > + # clang hugely expands stack usage with -fsanitize=object-size
> > > > + depends on !CC_IS_CLANG
> > > > depends on $(cc-option,-fsanitize=unsigned-integer-overflow)
> > >
> > > Because of Clang implementation issues (see commit c637693b20da), this is
> > > already "default n" (and not supported under GCC at all). IIUC, setting
> > > this to "depends on !COMPILE_TEST" won't work for randconfigs, yes?
> >
> > Ah, I had not realized this is clang specific. Adding the !COMPILE_TEST
> > dependency would hide it for me, which may be good enough for me.
>
> I thought COMPILE_TEST does not get set for randconfig?

It does on my kernel, though I never submitted that patch ;-)

Arnd