diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-03-25 13:36:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-03-25 13:36:02 -0400 |
commit | d2862360bfe54fd63618dbabf09191c4c0dc7576 (patch) | |
tree | 3431a4bee3802f339b9f4dae8f8bb6d4f860ffb0 /tools | |
parent | 9fd64e8ac2632929fb7f5d1245a15ae45ba21da6 (diff) | |
parent | d8ba61ba58c88d5207c1ba2f7d9a2280e7d03be9 (diff) |
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 and PTI fixes from Ingo Molnar:
"Misc fixes:
- fix EFI pagetables freeing
- fix vsyscall pagetable setting on Xen PV guests
- remove ancient CONFIG_X86_PPRO_FENCE=y - x86 is TSO again
- fix two binutils (ld) development version related incompatibilities
- clean up breakpoint handling
- fix an x86 self-test"
* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/entry/64: Don't use IST entry for #BP stack
x86/efi: Free efi_pgd with free_pages()
x86/vsyscall/64: Use proper accessor to update P4D entry
x86/cpu: Remove the CONFIG_X86_PPRO_FENCE=y quirk
x86/boot/64: Verify alignment of the LOAD segment
x86/build/64: Force the linker to use 2MB page size
selftests/x86/ptrace_syscall: Fix for yet more glibc interference
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 1ae1c5a7392e..6f22238f3217 100644 --- a/tools/testing/selftests/x86/ptrace_syscall.c +++ b/tools/testing/selftests/x86/ptrace_syscall.c | |||
@@ -183,8 +183,10 @@ static void test_ptrace_syscall_restart(void) | |||
183 | if (ptrace(PTRACE_TRACEME, 0, 0, 0) != 0) | 183 | if (ptrace(PTRACE_TRACEME, 0, 0, 0) != 0) |
184 | err(1, "PTRACE_TRACEME"); | 184 | err(1, "PTRACE_TRACEME"); |
185 | 185 | ||
186 | pid_t pid = getpid(), tid = syscall(SYS_gettid); | ||
187 | |||
186 | printf("\tChild will make one syscall\n"); | 188 | printf("\tChild will make one syscall\n"); |
187 | raise(SIGSTOP); | 189 | syscall(SYS_tgkill, pid, tid, SIGSTOP); |
188 | 190 | ||
189 | syscall(SYS_gettid, 10, 11, 12, 13, 14, 15); | 191 | syscall(SYS_gettid, 10, 11, 12, 13, 14, 15); |
190 | _exit(0); | 192 | _exit(0); |
@@ -301,9 +303,11 @@ static void test_restart_under_ptrace(void) | |||
301 | if (ptrace(PTRACE_TRACEME, 0, 0, 0) != 0) | 303 | if (ptrace(PTRACE_TRACEME, 0, 0, 0) != 0) |
302 | err(1, "PTRACE_TRACEME"); | 304 | err(1, "PTRACE_TRACEME"); |
303 | 305 | ||
306 | pid_t pid = getpid(), tid = syscall(SYS_gettid); | ||
307 | |||
304 | printf("\tChild will take a nap until signaled\n"); | 308 | printf("\tChild will take a nap until signaled\n"); |
305 | setsigign(SIGUSR1, SA_RESTART); | 309 | setsigign(SIGUSR1, SA_RESTART); |
306 | raise(SIGSTOP); | 310 | syscall(SYS_tgkill, pid, tid, SIGSTOP); |
307 | 311 | ||
308 | syscall(SYS_pause, 0, 0, 0, 0, 0, 0); | 312 | syscall(SYS_pause, 0, 0, 0, 0, 0, 0); |
309 | _exit(0); | 313 | _exit(0); |