[PATCH] ARM: ubsan: select ARCH_HAS_UBSAN_SANITIZE_ALL

William Zhang william.zhang at broadcom.com
Wed Sep 28 17:33:14 PDT 2022



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.

Tested-by: William Zhang <william.zhang at broadcom.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4212 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20220928/d7e297bf/attachment.p7s>


More information about the linux-arm-kernel mailing list