[PATCH v2] ARM: Add support for STACKLEAK gcc plugin
Kees Cook
kees at kernel.org
Thu Jun 27 10:02:21 PDT 2024
On Thu, Jun 27, 2024 at 03:53:14PM +0800, Jinjie Ruan wrote:
>
>
> 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?
Probably yes (we have some reviews now). Please go ahead and add it there.
--
Kees Cook
More information about the linux-arm-kernel
mailing list