From: Jens Axboe <[email protected]>
To: [email protected], [email protected]
Cc: [email protected], [email protected], [email protected],
Jens Axboe <[email protected]>
Subject: [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL
Date: Thu, 15 Oct 2020 07:17:00 -0600 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
We already get the ti_work passed in arch_do_signal(), define
TIF_NOTIFY_SIGNAL and take the appropriate action in the signal handling
based on _TIF_NOTIFY_SIGNAL and _TIF_SIGPENDING being set.
Signed-off-by: Jens Axboe <[email protected]>
---
arch/x86/include/asm/thread_info.h | 2 ++
arch/x86/kernel/signal.c | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index 267701ae3d86..86ade67f21b7 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -93,6 +93,7 @@ struct thread_info {
#define TIF_NOTSC 16 /* TSC is not accessible in userland */
#define TIF_IA32 17 /* IA32 compatibility process */
#define TIF_SLD 18 /* Restore split lock detection on context switch */
+#define TIF_NOTIFY_SIGNAL 19 /* signal notifications exist */
#define TIF_MEMDIE 20 /* is terminating due to OOM killer */
#define TIF_POLLING_NRFLAG 21 /* idle is polling for TIF_NEED_RESCHED */
#define TIF_IO_BITMAP 22 /* uses I/O bitmap */
@@ -123,6 +124,7 @@ struct thread_info {
#define _TIF_NOTSC (1 << TIF_NOTSC)
#define _TIF_IA32 (1 << TIF_IA32)
#define _TIF_SLD (1 << TIF_SLD)
+#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL)
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
#define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP)
#define _TIF_FORCED_TF (1 << TIF_FORCED_TF)
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index d18304e84c09..ec6490e53dc3 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -808,7 +808,10 @@ void arch_do_signal(struct pt_regs *regs, unsigned long ti_work)
{
struct ksignal ksig;
- if (get_signal(&ksig)) {
+ if (ti_work & _TIF_NOTIFY_SIGNAL)
+ tracehook_notify_signal();
+
+ if ((ti_work & _TIF_SIGPENDING) && get_signal(&ksig)) {
/* Whee! Actually deliver the signal. */
handle_signal(&ksig, regs);
return;
--
2.28.0
next prev parent reply other threads:[~2020-10-15 13:17 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-15 13:16 [PATCHSET v5] Add support for TIF_NOTIFY_SIGNAL Jens Axboe
2020-10-15 13:16 ` [PATCH 1/5] tracehook: clear TIF_NOTIFY_RESUME in tracehook_notify_resume() Jens Axboe
2020-10-15 14:42 ` Oleg Nesterov
2020-10-15 14:43 ` Jens Axboe
2020-10-15 13:16 ` [PATCH 2/5] kernel: add task_sigpending() helper Jens Axboe
2020-10-15 14:42 ` Oleg Nesterov
2020-10-15 13:16 ` [PATCH 3/5] kernel: add support for TIF_NOTIFY_SIGNAL Jens Axboe
2020-10-15 14:31 ` Oleg Nesterov
2020-10-15 14:33 ` Jens Axboe
2020-10-15 14:37 ` Oleg Nesterov
2020-10-15 14:43 ` Jens Axboe
2020-10-15 14:47 ` Oleg Nesterov
2020-10-15 14:53 ` Oleg Nesterov
2020-10-15 14:56 ` Jens Axboe
2020-10-15 15:01 ` Thomas Gleixner
2020-10-15 15:27 ` Oleg Nesterov
2020-10-15 14:44 ` Oleg Nesterov
2020-10-15 13:17 ` Jens Axboe [this message]
2020-10-15 14:11 ` [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL Thomas Gleixner
2020-10-15 14:31 ` Jens Axboe
2020-10-15 14:34 ` Thomas Gleixner
2020-10-15 14:35 ` Jens Axboe
2020-10-15 14:36 ` Oleg Nesterov
2020-10-15 14:42 ` Jens Axboe
2020-10-15 14:34 ` Oleg Nesterov
2020-10-15 14:54 ` Thomas Gleixner
2020-10-15 15:17 ` Oleg Nesterov
2020-10-16 9:55 ` Thomas Gleixner
2020-10-16 10:54 ` Oleg Nesterov
2020-10-16 13:07 ` Thomas Gleixner
2020-10-15 14:44 ` Oleg Nesterov
2020-10-20 10:57 ` introduce asm-generic/thread_info.h ? Oleg Nesterov
2020-10-15 13:17 ` [PATCH 5/5] task_work: use TIF_NOTIFY_SIGNAL if available Jens Axboe
2020-10-15 15:49 ` Oleg Nesterov
2020-10-15 18:39 ` Jens Axboe
2020-10-16 9:00 ` Thomas Gleixner
2020-10-16 9:39 ` Thomas Gleixner
2020-10-16 13:35 ` Jens Axboe
2020-10-16 14:17 ` Thomas Gleixner
2020-10-16 14:51 ` Oleg Nesterov
2020-10-16 14:53 ` Jens Axboe
2020-10-16 18:03 ` Thomas Gleixner
2020-10-16 18:05 ` Jens Axboe
2020-10-16 13:33 ` Jens Axboe
2020-10-16 14:11 ` Thomas Gleixner
2020-10-16 14:22 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox