Re: [PATCH] lib/ubsan: default UBSAN_ALIGNMENT to not set

From: Andrey Ryabinin
Date: Fri Jan 11 2019 - 14:00:59 EST




On 12/17/18 6:03 PM, Anders Roxell wrote:
> When booting an allmodconfig kernel, there are a lot of false-positives.
> With a message like this 'UBSAN: Undefined behaviour in...' with a call
> trace that follows.
>
> Reworked so that when building a allmodconfig kernel that turns
> everything into '=m' or '=y' will turn off UBSAN_ALIGNMENT.
>
> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx>
> ---

Acked-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>


> lib/Kconfig.ubsan | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
> index 98fa559ebd80..a2ae4a8e4fa6 100644
> --- a/lib/Kconfig.ubsan
> +++ b/lib/Kconfig.ubsan
> @@ -27,15 +27,19 @@ config UBSAN_SANITIZE_ALL
> Enabling this option will get kernel image size increased
> significantly.
>
> -config UBSAN_ALIGNMENT
> - bool "Enable checking of pointers alignment"
> +config UBSAN_NO_ALIGNMENT
> + bool "Disable checking of pointers alignment"
> depends on UBSAN
> - default y if !HAVE_EFFICIENT_UNALIGNED_ACCESS
> + default y if HAVE_EFFICIENT_UNALIGNED_ACCESS
> help
> - This option enables detection of unaligned memory accesses.
> - Enabling this option on architectures that support unaligned
> + This option disables the check of unaligned memory accesses.
> + This option should be used when building allmodconfig.
> + Disabling this option on architectures that support unaligned
> accesses may produce a lot of false positives.
>
> +config UBSAN_ALIGNMENT
> + def_bool !UBSAN_NO_ALIGNMENT
> +
> config TEST_UBSAN
> tristate "Module for testing for undefined behavior detection"
> depends on m && UBSAN
>