lkml.org 
[lkml]   [2015]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectADDR_COMPAT_LAYOUT breaks PTRACE_SEIZE
Date
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."


\
 
 \ /
  Last update: 2015-03-22 17:01    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog