[PATCH v3] arm64: Enable KCSAN

Kefeng Wang wangkefeng.wang at huawei.com
Thu Dec 9 22:58:27 PST 2021


On 2021/12/3 18:41, Mark Rutland wrote:
> On Fri, Dec 03, 2021 at 10:29:22AM +0800, Kefeng Wang wrote:
>> On 2021/12/2 22:44, Mark Rutland wrote:
>>> On Thu, Dec 02, 2021 at 03:36:06PM +0100, Marco Elver wrote:
>>>> On Thu, 2 Dec 2021 at 15:23, Kefeng Wang <wangkefeng.wang at huawei.com> wrote:
>>>>> This patch enables KCSAN for arm64, with updates to build rules
>>>>> to not use KCSAN for several incompatible compilation units.
>>>>>
>>>>> Resent GCC version(at least GCC10) made outline-atomics as the
>>>> s/Resent/Recent/
>>>>
>>>>> default option(unlike Clang), which will cause linker errors
>>>>> for kernel/kcsan/core.o. Disables the out-of-line atomics by
>>>>> no-outline-atomics to fix the linker errors.
>>>>>
>>>>> Meanwhile, as Mark said[1], there is a specific issue on arm64
>>>>> about ARM64_BTI with Clang 11 if KCSAN enabled, which is fixed
>>>>> by Clang 12, add CLANG_VERSION check. And also some latent issues
>>>>> are need to be fixed which isn't just a KCSAN problem, we make
>>>>> the KCSAN depends on EXPERT for now.
>>>>>
>>>>> Tested selftest and kcsan_test(built with GCC11 and Clang 13),
>>>>> and all passed.
>>>>>
>>>>> [1] https://lkml.org/lkml/2021/12/1/354
>>>> Please use lore/kernel.org permalinks. For this one it'd be:
>>>> https://lkml.kernel.org/r/YadiUPpJ0gADbiHQ@FVFF77S0Q05N
>>>>
>>>> (But I think if this is the final version of the patch, hopefully a
>>>> maintainer can amend the commit message.)
>>>>
>>>>> Signed-off-by: Kefeng Wang <wangkefeng.wang at huawei.com>
>>>> Acked-by: Marco Elver <elver at google.com> # kernel/kcsan
>>>>
>>>> is still valid, given nothing changed there. I leave the rest to Mark.
>>> I want to do some compiler / config testing before I ack this (just to
>>> make sure there isn't some latent issue I've forgotten about), but
>>> otherwise I think this should be fine.
>>>
>>> I'll try to have that done in the next few days.
>> I will wait for some time, thanks Marco/Mark.

Hi Mark,  I will send v4 to address the comments in v3, is there new 
update about this?

>>
>>> Any other review/testing would be appreciated!
>> As Nathan points, commit 8cdd23c23c3d ("arm64: Restrict ARM64_BTI_KERNEL
>>
>> to clang 12.0.0 and newer"), so need to add Clang version check, which is v2
>> does.
>>
>> is there some other requirement that we need this check, what's your option,
> I'm not immediately aware of another reason, so I'm fine with not checking that
> for KCSAN -- If I discover another reason I will let you know.

Ok, will drop the Clang version check in v4.

Thanks.

>
> Thanks,
> Mark.
> .



More information about the linux-arm-kernel mailing list