Messages in this thread |  | | From | Andreas Schwab <> | | Subject | ADDR_COMPAT_LAYOUT breaks PTRACE_SEIZE | | Date | Sun, 22 Mar 2015 16:39:44 +0100 |
| |
On ppc64, a process running with the ADDR_COMPAT_LAYOUT personality causes ptrace(PTRACE_SEIZE) to hang in the kernel, unkillable.
#include <stdlib.h> #include <unistd.h> #include <signal.h> #include <sys/personality.h> #include <sys/ptrace.h> #include <sys/wait.h>
int main (void) { pid_t child;
personality (ADDR_COMPAT_LAYOUT); child = fork (); if (child == 0) { kill (getpid (), SIGSTOP); exit (0); }
ptrace (PTRACE_SEIZE, child, NULL, NULL); wait (NULL); ptrace (PTRACE_CONT, child, NULL, NULL); }
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
|  |