diff options
author | Andy Lutomirski <luto@kernel.org> | 2020-03-12 15:35:51 -0700 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-03-20 11:28:47 +0100 |
commit | 630b99ab60aa972052a4202a1ff96c7e45eb0054 (patch) | |
tree | 0ad144a21cf62829ae39c29d741258bfc4d14977 /tools | |
parent | 07f24dc95daca49b8a2e804edc024dd4e91610ac (diff) |
selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
If AT_SYSINFO is not present, don't try to call a NULL pointer.
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/faaf688265a7e1a5b944d6f8bc0f6368158306d3.1584052409.git.luto@kernel.org
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/x86/ptrace_syscall.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/testing/selftests/x86/ptrace_syscall.c b/tools/testing/selftests/x86/ptrace_syscall.c index 6f22238f3217..12aaa063196e 100644 --- a/tools/testing/selftests/x86/ptrace_syscall.c +++ b/tools/testing/selftests/x86/ptrace_syscall.c @@ -414,8 +414,12 @@ int main() #if defined(__i386__) && (!defined(__GLIBC__) || __GLIBC__ > 2 || __GLIBC_MINOR__ >= 16) vsyscall32 = (void *)getauxval(AT_SYSINFO); - printf("[RUN]\tCheck AT_SYSINFO return regs\n"); - test_sys32_regs(do_full_vsyscall32); + if (vsyscall32) { + printf("[RUN]\tCheck AT_SYSINFO return regs\n"); + test_sys32_regs(do_full_vsyscall32); + } else { + printf("[SKIP]\tAT_SYSINFO is not available\n"); + } #endif test_ptrace_syscall_restart(); |