diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2024-09-24 13:47:23 +0200 |
---|---|---|
committer | Shuah Khan <skhan@linuxfoundation.org> | 2024-09-27 20:17:12 +0200 |
commit | 4b721fcc094e9eb6dd4702df8d79ab11e120833d (patch) | |
tree | d84134206053c938c46606604b162d209d90487c /tools | |
parent | selftests: kselftest: Use strerror() on nolibc (diff) | |
download | linux-4b721fcc094e9eb6dd4702df8d79ab11e120833d.tar.xz linux-4b721fcc094e9eb6dd4702df8d79ab11e120833d.zip |
selftests: vDSO: align stack for O2-optimized memcpy
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>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/vDSO/vdso_standalone_test_x86.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c b/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c index 27f6fdf11969..644915862af8 100644 --- a/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c +++ b/tools/testing/selftests/vDSO/vdso_standalone_test_x86.c @@ -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" |