diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-19 11:33:31 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2021-11-19 11:33:31 -0800 |
commit | 7af959b5d5c8497b423e802e2b0ad847cb29b3d3 (patch) | |
tree | ff59567a4f3d21650d48bf5712a1f84a94df69c5 /include | |
parent | ecd510d2ff86953378c540182f14c8890b1f1225 (diff) | |
parent | fcb116bc43c8c37c052530ead79872f8b2615711 (diff) | |
download | lwn-7af959b5d5c8497b423e802e2b0ad847cb29b3d3.tar.gz lwn-7af959b5d5c8497b423e802e2b0ad847cb29b3d3.zip |
Merge branch 'SA_IMMUTABLE-fixes-for-v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull exit-vs-signal handling fixes from Eric Biederman:
"This is a small set of changes where debuggers were no longer able to
intercept synchronous SIGTRAP and SIGSEGV, introduced by the exit
cleanups.
This is essentially the change you suggested with all of i's dotted
and the t's crossed so that ptrace can intercept all of the cases it
has been able to intercept the past, and all of the cases that made it
to exit without giving ptrace a chance still don't give ptrace a
chance"
* 'SA_IMMUTABLE-fixes-for-v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
signal: Replace force_fatal_sig with force_exit_sig when in doubt
signal: Don't always set SA_IMMUTABLE for forced signals
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sched/signal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sched/signal.h b/include/linux/sched/signal.h index 23505394ef70..33a50642cf41 100644 --- a/include/linux/sched/signal.h +++ b/include/linux/sched/signal.h @@ -352,6 +352,7 @@ extern __must_check bool do_notify_parent(struct task_struct *, int); extern void __wake_up_parent(struct task_struct *p, struct task_struct *parent); extern void force_sig(int); extern void force_fatal_sig(int); +extern void force_exit_sig(int); extern int send_sig(int, struct task_struct *, int); extern int zap_other_threads(struct task_struct *p); extern struct sigqueue *sigqueue_alloc(void); |