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 >>> >>> 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 >>> [florian: rebased against v6.0-rc7] >>> Signed-off-by: Florian Fainelli >> >> 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. Tested-by: William Zhang