]> www.infradead.org Git - users/hch/block.git/commitdiff
selftests: vDSO: align stack for O2-optimized memcpy
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 24 Sep 2024 11:47:23 +0000 (13:47 +0200)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 27 Sep 2024 18:17:12 +0000 (12:17 -0600)
When switching on -O2, gcc generates SSE2 instructions that assume a
16-byte aligned stack, which the standalone test's start point wasn't
aligning. Fix this with the usual alignment sequence.

Fixes: ecb8bd70d51 ("selftests: vDSO: build tests with O2 optimization")
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202409241558.98e13f6f-oliver.sang@intel.com
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/vDSO/vdso_standalone_test_x86.c

index 27f6fdf119691e244ee60ed7136cb2f217ef81c8..644915862af8883131e5defd336f1bd80736fc0f 100644 (file)
@@ -131,6 +131,8 @@ asm (
        "_start:\n\t"
 #ifdef __x86_64__
        "mov %rsp,%rdi\n\t"
+       "and $-16,%rsp\n\t"
+       "sub $8,%rsp\n\t"
        "jmp c_main"
 #else
        "push %esp\n\t"