Re: [PATCH 2/4] ubsan: Disable object-size sanitizer under GCC

From: Nathan Chancellor
Date: Sun Oct 04 2020 - 03:10:58 EST


On Fri, Oct 02, 2020 at 03:15:25PM -0700, Kees Cook wrote:
> GCC's -fsanitize=object-size (as part of CONFIG_UBSAN_MISC) greatly
> increases stack utilization. Do not allow this under GCC.
>
> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> Link: https://lore.kernel.org/lkml/CAHk-=wjPasyJrDuwDnpHJS2TuQfExwe=px-SzLeN8GFMAQJPmQ@xxxxxxxxxxxxxx/

Reviewed-by: Nathan Chancellor <natechancellor@xxxxxxxxx>

> ---
> lib/Kconfig.ubsan | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
> index c0b801871e0b..aeb2cdea0b94 100644
> --- a/lib/Kconfig.ubsan
> +++ b/lib/Kconfig.ubsan
> @@ -104,6 +104,9 @@ config UBSAN_UNSIGNED_OVERFLOW
>
> config UBSAN_OBJECT_SIZE
> def_bool UBSAN_MISC
> + # gcc hugely expands stack usage with -fsanitize=object-size
> + # https://lore.kernel.org/lkml/CAHk-=wjPasyJrDuwDnpHJS2TuQfExwe=px-SzLeN8GFMAQJPmQ@xxxxxxxxxxxxxx/
> + depends on !CC_IS_GCC
> depends on $(cc-option,-fsanitize=object-size)
>
> config UBSAN_BOOL
> --
> 2.25.1