lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 27 Apr 2017 13:16:51 +0100
From:   Jamie Iles <jamie.iles@...cle.com>
To:     Oleg Nesterov <oleg@...hat.com>
Cc:     Jamie Iles <jamie.iles@...cle.com>, linux-kernel@...r.kernel.org
Subject: Re: SIGNAL_UNKILLABLE and init again

On Wed, Apr 26, 2017 at 05:18:58PM +0200, Oleg Nesterov wrote:
> 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.

Okay, sounds good.  I'm happy to spend more time looking at this if you 
have suggestions - in the context of namespaces and containers this 
seems more relevant than when it was just the system init that we were 
protecting.

Jamie

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ