[PATCH v2] ARM: Add support for STACKLEAK gcc plugin
Jinjie Ruan
ruanjinjie at huawei.com
Thu Jun 27 00:53:14 PDT 2024
On 2024/6/24 15:30, Linus Walleij wrote:
> On Mon, Jun 24, 2024 at 4:33 AM Jinjie Ruan <ruanjinjie at huawei.com> wrote:
>
>> Add the STACKLEAK gcc plugin to arm32 by adding the helper used by
>> stackleak common code: on_thread_stack(). It initialize the stack with the
>> poison value before returning from system calls which improves the kernel
>> security. Additionally, this disables the plugin in EFI stub code and
>> decompress code, which are out of scope for the protection.
>>
>> Before the test on Qemu versatilepb board:
>> # echo STACKLEAK_ERASING > /sys/kernel/debug/provoke-crash/DIRECT
>> lkdtm: Performing direct entry STACKLEAK_ERASING
>> lkdtm: XFAIL: stackleak is not supported on this arch (HAVE_ARCH_STACKLEAK=n)
>>
>> After:
>> # echo STACKLEAK_ERASING > /sys/kernel/debug/provoke-crash/DIRECT
>> lkdtm: Performing direct entry STACKLEAK_ERASING
>> lkdtm: stackleak stack usage:
>> high offset: 80 bytes
>> current: 280 bytes
>> lowest: 696 bytes
>> tracked: 696 bytes
>> untracked: 192 bytes
>> poisoned: 7220 bytes
>> low offset: 4 bytes
>> lkdtm: OK: the rest of the thread stack is properly erased
>>
>> Signed-off-by: Jinjie Ruan <ruanjinjie at huawei.com>
>> Acked-by: Ard Biesheuvel <ardb at kernel.org>
>
> Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
>
> I was digging around to see if this would interfere with BPF
> trampolines, but the
> BPF code seems so generic that I assume it already takes stackleak into account.
>
Thank you very much, as Kees said, can this patch go via
rmk's patch tracker now?
> Yours,
> Linus Walleij
More information about the linux-arm-kernel
mailing list