Messages in this thread | | | From | (Eric W. Biederman) | Date | Sun, 02 Apr 2017 17:50:02 -0500 | Subject | [RFC][PATCH v2 0/5] exec: Fixing ptrace'd mulit-threaded hang |
| |
Oleg your comment about kill being able to send signal was an important dimension I had missed thank you.
This patchset just denies the case of SIGHAND between different multi-threaded processes as I don't think anyone cares. I can fix that if anyone cares but I am not certain we actally do.
I have reworked the ptrace notification code so that we always send notifications if we can but don't wait if it is a coredump or an exec. Which simpilifies the code nicely.
A few more tweaks are needed before a final version but I think things are compelling.
fs/exec.c | 23 ++------- include/linux/sched/signal.h | 1 + kernel/exit.c | 20 ++++---- kernel/fork.c | 14 +++++- kernel/ptrace.c | 4 ++ kernel/signal.c | 112 +++++++++++++++++++------------------------ 6 files changed, 78 insertions(+), 96 deletions(-)
Eric W. Biederman (5): ptrace: Don't wait in PTRACE_O_TRACEEXIT for exec or coredump sighand: Count each thread group once in sighand_struct clone: Disallown CLONE_THREAD with a shared sighand_struct exec: If possible don't wait for ptraced threads to be reaped signal: Don't allow accessing signal_struct by old threads after exec
Eric
| |