Messages in this thread | | | Date | Wed, 6 Jan 2021 15:17:33 -0800 | From | Kees Cook <> | Subject | Re: [PATCH] ubsan: disable unsigned-integer-overflow sanitizer with clang |
| |
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@chromium.org> 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?
> > Is there some better way to mark this as "known to have issues, please > > don't include in randconfig?" > > > > I'd like to keep it around so people can continue to work out the > > problems with it, but not have unexpecting folks trip over it. ;) > > I've reverted that patch locally now and default-enabled for randconfigs. > Now that I have an otherwise clean build, this should provide me > with a full set of files that produce the warning. If the number is > small enough, I could try opening individual github issues.
Okay, let me know if something needs changing. :)
-- Kees Cook
| |