All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: Jamie Iles <jamie.iles@oracle.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: SIGNAL_UNKILLABLE and init again
Date: Wed, 26 Apr 2017 17:18:58 +0200	[thread overview]
Message-ID: <20170426151857.GA11894@redhat.com> (raw)
In-Reply-To: <20170425173928.gaubfmxxbbvglnio@cedar>

Hi Jamie,

On 04/25, Jamie Iles wrote:
>
> Hi Oleg,
>
> I'm back looking at SIGNAL_UNKILLABLE and debugging child reapers again, 
> and the current issue is when running code in the target process, 
> SIGTRAP firing and that causing SIGNAL_UNKILLABLE protection to be 
> removed in force_sig_info():
>
> 	if (action->sa.sa_handler == SIG_DFL)
> 		t->signal->flags &= ~SIGNAL_UNKILLABLE;

Yes, this is what I meant when I said force_sig_info() needs changes too.
I was going to fix it "tomorrow" but I was distracted and then forgot.

>   @@ -1185,7 +1185,7 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t)
>    			recalc_sigpending_and_wake(t);
>    		}
>    	}
>   -	if (action->sa.sa_handler == SIG_DFL)
>   +	if (action->sa.sa_handler == SIG_DFL && !t->ptrace)
>    		t->signal->flags &= ~SIGNAL_UNKILLABLE;
>    	ret = specific_send_sig_info(sig, info, t);
>    	spin_unlock_irqrestore(&t->sighand->siglock, flags);

Not sure, let me think a bit more... and this is not enough anyway.

perhaps we should start with this simple change, but the "real" fix
needs a lot of cleanups, although I am not sure if we will ever do this.

Oleg.

  reply	other threads:[~2017-04-26 15:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-25 17:39 SIGNAL_UNKILLABLE and init again Jamie Iles
2017-04-26 15:18 ` Oleg Nesterov [this message]
2017-04-27 12:16   ` Jamie Iles
2017-08-14  9:31     ` Jamie Iles
2017-08-14 16:24       ` Oleg Nesterov

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 \
    --in-reply-to=20170426151857.GA11894@redhat.com \
    --to=oleg@redhat.com \
    --cc=jamie.iles@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.