[PATCH v2] arm: ubsan: select ARCH_HAS_UBSAN_SANITIZE_ALL

Joel Stanley joel at jms.id.au
Sun Mar 25 18:05:37 PDT 2018


On 14 March 2018 at 12:02, Jinbum Park <jinb.park at samsung.com> wrote:
> To enable UBSAN on arm, ARCH_HAS_UBSAN_SANITIZE_ALL is needed to be selected.
>
> Basic test has passed on Raspberry Pi2, Raspbian jessi lite with
> CONFIG_UBSAN_SANITIZE_ALL, CONFIG_UBSAN_NULL.
>
> Used compiler is gcc 5.5.0 in [2] (2017.10).
>
> It would be a resend patch for [1] from Seung-Woo Kim.
> There was some problems when [1] submitted before.
>
>   P1) show -Warray-bounds that is not seen without UBSAN
>   P2) too large stack size in crypto/serpent_generic.c
>   P3) link error of ____ilog2_NaN, __aeabi_uldivmod
>
> I've tried to build locally with allmodconfig to ensure that above errors are fixed.
> The result is that P2), P3) have fixed, but P1) appears at diffent location.
> But, Since gcc closed P1) issue as won't fix [3],
> and It can be a helpful warning to user, we don't have to worry about P1).
>
> build-environment that I used is as belows.
>
>   - config: arm allmodconfig
>   - compiler: gcc 5.5.0 in [2] (2017.10)
>   - ubsan flag: UBSAN, UBSAN_SANITIZE_ALL, UBSAN_ALIGNMENT, UBSAN_NULL
>   - linux version: linux/arm 4.16.0-rc4
>   - CONFIG_FRAME_WARN: 1024 (default value)
>
> [1] https://patchwork.kernel.org/patch/9189575/
> [2] https://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabi/
> [3] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78678
>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Signed-off-by: Jinbum Park <jinb.park at samsung.com>
> Signed-off-by: Seung-Woo Kim <sw0312.kim at samsung.com>

Tested-by: Joel Stanley <joel at jms.id.au>

I built for an ARMv5 (aspeed_g5_defconfig) and booted on an ast2500.

FYI, it found a couple of issues in ASPEED specific code!

 https://github.com/openbmc/linux/issues/144
 https://github.com/openbmc/linux/issues/145

Cheers,

Joel



More information about the linux-arm-kernel mailing list