[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87o8l3a8af.fsf@nanos.tec.linutronix.de>
Date: Thu, 15 Oct 2020 16:11:20 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Jens Axboe <axboe@...nel.dk>, linux-kernel@...r.kernel.org,
io-uring@...r.kernel.org
Cc: peterz@...radead.org, oleg@...hat.com, Jens Axboe <axboe@...nel.dk>
Subject: Re: [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL
On Thu, Oct 15 2020 at 07:17, Jens Axboe wrote:
> --- 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;
Instead of adding this to every architectures signal magic, we can
handle TIF_NOTIFY_SIGNAL in the core code:
static void handle_singal_work(ti_work, regs)
{
if (ti_work & _TIF_NOTIFY_SIGNAL)
tracehook_notify_signal();
arch_do_signal(ti_work, regs);
}
loop {
if (ti_work & (SIGPENDING | NOTIFY_SIGNAL))
handle_signal_work(ti_work, regs);
}
Hmm?
Thanks,
tglx
Powered by blists - more mailing lists