[PATCH] kselftest/arm64: bti: force static linking

Andre Przywara andre.przywara at arm.com
Mon May 16 02:29:35 PDT 2022


On Sun, 15 May 2022 11:05:23 +0100
Catalin Marinas <catalin.marinas at arm.com> wrote:

Hi,

> On Wed, May 11, 2022 at 06:21:29PM +0100, Andre Przywara wrote:
> > The "bti" selftests are built with -nostdlib, which apparently
> > automatically creates a statically linked binary, which is what we want
> > and need for BTI (to avoid interactions with the dynamic linker).
> > 
> > However this is not true when building a PIE binary, which some
> > toolchains (Ubuntu) configure as the default.
> > When compiling btitest with such a toolchain, it will create a
> > dynamically linked binary, which will probably fail some tests, as the
> > dynamic linker might not support BTI:
> > ===================
> > TAP version 13
> > 1..18
> > not ok 1 nohint_func/call_using_br_x0
> > not ok 2 nohint_func/call_using_br_x16
> > not ok 3 nohint_func/call_using_blr
> > ....
> > ===================
> > 
> > To make sure we create static binaries, add an explicit -static on the
> > linker command line. This forces static linking even if the toolchain
> > defaults to PIE builds, and fixes btitest runs on BTI enabled machines.
> > 
> > Signed-off-by: Andre Przywara <andre.przywara at arm.com>  
> 
> Does this need to go in as a fix (cc stable, fixes tag)?

I dimly remember some discussion about stable fixes not being a real thing
for the selftests? In any case:

Fixes: 314bcbf09f14 ("kselftest: arm64: Add BTI tests")

Cheers,
Andre



More information about the linux-arm-kernel mailing list