[PATCH] ARM: ubsan: select ARCH_HAS_UBSAN_SANITIZE_ALL

Kees Cook keescook at chromium.org
Thu Sep 29 01:10:37 PDT 2022


On Wed, Sep 28, 2022 at 05:33:14PM -0700, William Zhang wrote:
> 
> 
> On 09/28/2022 04:06 PM, Florian Fainelli wrote:
> > On 9/28/22 11:01, Kees Cook wrote:
> > > On Wed, Sep 28, 2022 at 10:47:39AM -0700, Florian Fainelli wrote:
> > > > From: Seung-Woo Kim <sw0312.kim at samsung.com>
> > > > 
> > > > To enable UBSAN on ARM, this patch enables ARCH_HAS_UBSAN_SANITIZE_ALL
> > > > from arm confiuration. Basic kernel bootup test is passed on arm with
> > > > CONFIG_UBSAN_SANITIZE_ALL enabled.
> > > > 
> > > > Signed-off-by: Seung-Woo Kim <sw0312.kim at samsung.com>
> > > > [florian: rebased against v6.0-rc7]
> > > > Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
> > > 
> > > Ah-ha, thanks for testing this. What devices did you check this on? I
> > > know boot-up on arm32 can be very device-specific.
> > 
> > This was tested on an ARCH_BRCMSTB system which is using an ARMv8 CPU
> > booted in AArch32 mode, so virtually equivalent to armv7l. A raspberry
> > Pi 4B is also happily booting with it.
> > 
> > > 
> > > Which UBSAN configs did you try?
> > 
> > All CONFIG_UBSAN_* work with the exception of CONFIG_UBSAN_ALIGNMENT on
> > my ARCH_BRCMSTB system, however it works fine on the Raspberry Pi 4B.
> > Florian
> 
> I also tested on a BCM63138 board (ARM A9) under ARCH_BCMBCA using the
> multi_v7_defconfig with all the UBSAN configs enabled except UBSAN_ALIGNMENT
> and board boots up fine. Turning on UBSAN_ALIGNMENT results in flood of
> false positive misaligned-access warnings. This is fine as ARM supports
> unaligned access.
> 
> It did catch an out-of-band bug in mach-sunxi smp code.  I will submit a
> separate patch to fix that bug.

Yay! :) Move coverage is great. :)

> 
> Tested-by: William Zhang <william.zhang at broadcom.com>

Thanks!

-- 
Kees Cook



More information about the linux-arm-kernel mailing list