* [RFC] is_global_init() called on global init sub-thread
@ 2015-12-30 6:25 Sergey Senozhatsky
2016-01-01 1:08 ` Serge E. Hallyn
0 siblings, 1 reply; 7+ messages in thread
From: Sergey Senozhatsky @ 2015-12-30 6:25 UTC (permalink / raw)
To: Oleg Nesterov
Cc: Peter Zijlstra, Andrew Morton, Richard Guy Briggs,
Eric W. Biederman, Serge E. Hallyn, linux-kernel,
Sergey Senozhatsky, Sergey Senozhatsky
Hello,
re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html
Oleg Nesterov wrote:
:Because is_global_init() is only true for the main thread of /sbin/init.
:
:Just look at oom_unkillable_task(). It tries to not kill init. But, say,
:select_bad_process() can happily find a sub-thread of is_global_init()
:and still kill it.
this is still the case, isn't it? at least in some -stable kernels.
is there (or was there) any reason this change has never been committed?
(I'm particularly interested in is_global_init()).
static inline int is_global_init(struct task_struct *tsk)
{
- return tsk->pid == 1;
+ return task_tgid_nr(tsk) == 1;
}
-ss
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [RFC] is_global_init() called on global init sub-thread 2015-12-30 6:25 [RFC] is_global_init() called on global init sub-thread Sergey Senozhatsky @ 2016-01-01 1:08 ` Serge E. Hallyn 2016-01-01 1:10 ` Sergey Senozhatsky 0 siblings, 1 reply; 7+ messages in thread From: Serge E. Hallyn @ 2016-01-01 1:08 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Oleg Nesterov, Peter Zijlstra, Andrew Morton, Richard Guy Briggs, Eric W. Biederman, Serge E. Hallyn, linux-kernel, Sergey Senozhatsky On Wed, Dec 30, 2015 at 03:25:42PM +0900, Sergey Senozhatsky wrote: > Hello, > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > Oleg Nesterov wrote: > > :Because is_global_init() is only true for the main thread of /sbin/init. > : > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > :select_bad_process() can happily find a sub-thread of is_global_init() > :and still kill it. > > this is still the case, isn't it? at least in some -stable kernels. > is there (or was there) any reason this change has never been committed? > (I'm particularly interested in is_global_init()). ... seems like it makes sense. Can you remind us which init you're having to deal with? > static inline int is_global_init(struct task_struct *tsk) > { > - return tsk->pid == 1; > + return task_tgid_nr(tsk) == 1; > } > > -ss ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC] is_global_init() called on global init sub-thread 2016-01-01 1:08 ` Serge E. Hallyn @ 2016-01-01 1:10 ` Sergey Senozhatsky 2016-01-01 1:18 ` Serge E. Hallyn 0 siblings, 1 reply; 7+ messages in thread From: Sergey Senozhatsky @ 2016-01-01 1:10 UTC (permalink / raw) To: Serge E. Hallyn Cc: Sergey Senozhatsky, Oleg Nesterov, Peter Zijlstra, Andrew Morton, Richard Guy Briggs, Eric W. Biederman, Serge E. Hallyn, linux-kernel, Sergey Senozhatsky On (12/31/15 19:08), Serge E. Hallyn wrote: > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > > > Oleg Nesterov wrote: > > > > :Because is_global_init() is only true for the main thread of /sbin/init. > > : > > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > > :select_bad_process() can happily find a sub-thread of is_global_init() > > :and still kill it. > > > > this is still the case, isn't it? at least in some -stable kernels. > > is there (or was there) any reason this change has never been committed? > > (I'm particularly interested in is_global_init()). > > ... seems like it makes sense. Can you remind us which init you're having > to deal with? > systemd -ss > > static inline int is_global_init(struct task_struct *tsk) > > { > > - return tsk->pid == 1; > > + return task_tgid_nr(tsk) == 1; > > } ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC] is_global_init() called on global init sub-thread 2016-01-01 1:10 ` Sergey Senozhatsky @ 2016-01-01 1:18 ` Serge E. Hallyn 2016-01-01 1:33 ` Sergey Senozhatsky 0 siblings, 1 reply; 7+ messages in thread From: Serge E. Hallyn @ 2016-01-01 1:18 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Serge E. Hallyn, Sergey Senozhatsky, Oleg Nesterov, Peter Zijlstra, Andrew Morton, Richard Guy Briggs, Eric W. Biederman, Serge E. Hallyn, linux-kernel On Fri, Jan 01, 2016 at 10:10:35AM +0900, Sergey Senozhatsky wrote: > On (12/31/15 19:08), Serge E. Hallyn wrote: > > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > > > > > Oleg Nesterov wrote: > > > > > > :Because is_global_init() is only true for the main thread of /sbin/init. > > > : > > > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > > > :select_bad_process() can happily find a sub-thread of is_global_init() > > > :and still kill it. > > > > > > this is still the case, isn't it? at least in some -stable kernels. > > > is there (or was there) any reason this change has never been committed? > > > (I'm particularly interested in is_global_init()). > > > > ... seems like it makes sense. Can you remind us which init you're having > > to deal with? > > > > systemd > > -ss Well it makes sense to me. The question is whether we are protecting the thing running as init, or the 'physical' thread with pid 1. I think it's the former, so let's push on this. Please resend the patch with a proper signed-off-by, and feel free to add Acked-by: Serge Hallyn <serge.hallyn@canonical.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC] is_global_init() called on global init sub-thread 2016-01-01 1:18 ` Serge E. Hallyn @ 2016-01-01 1:33 ` Sergey Senozhatsky 2016-01-01 2:28 ` Serge E. Hallyn 2016-01-04 7:51 ` Richard Guy Briggs 0 siblings, 2 replies; 7+ messages in thread From: Sergey Senozhatsky @ 2016-01-01 1:33 UTC (permalink / raw) To: Serge E. Hallyn Cc: Sergey Senozhatsky, Sergey Senozhatsky, Oleg Nesterov, Peter Zijlstra, Andrew Morton, Richard Guy Briggs, Eric W. Biederman, Serge E. Hallyn, linux-kernel On (12/31/15 19:18), Serge E. Hallyn wrote: > On Fri, Jan 01, 2016 at 10:10:35AM +0900, Sergey Senozhatsky wrote: > > On (12/31/15 19:08), Serge E. Hallyn wrote: > > > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > > > > > > > Oleg Nesterov wrote: > > > > > > > > :Because is_global_init() is only true for the main thread of /sbin/init. > > > > : > > > > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > > > > :select_bad_process() can happily find a sub-thread of is_global_init() > > > > :and still kill it. > > > > > > > > this is still the case, isn't it? at least in some -stable kernels. > > > > is there (or was there) any reason this change has never been committed? > > > > (I'm particularly interested in is_global_init()). > > > > > > ... seems like it makes sense. Can you remind us which init you're having > > > to deal with? > > > > > > > systemd > > > > -ss > > Well it makes sense to me. The question is whether we are protecting the > thing running as init, or the 'physical' thread with pid 1. I think it's > the former, so let's push on this. Please resend the patch with a proper > signed-off-by, and feel free to add thanks. a bit puzzled, would reported-by Oleg and suggested-by Richard be appropriate? (no objections if Oleg or Richard will submit it). > Acked-by: Serge Hallyn <serge.hallyn@canonical.com> -ss ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC] is_global_init() called on global init sub-thread 2016-01-01 1:33 ` Sergey Senozhatsky @ 2016-01-01 2:28 ` Serge E. Hallyn 2016-01-04 7:51 ` Richard Guy Briggs 1 sibling, 0 replies; 7+ messages in thread From: Serge E. Hallyn @ 2016-01-01 2:28 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Serge E. Hallyn, Sergey Senozhatsky, Oleg Nesterov, Peter Zijlstra, Andrew Morton, Richard Guy Briggs, Eric W. Biederman, Serge E. Hallyn, linux-kernel On Fri, Jan 01, 2016 at 10:33:53AM +0900, Sergey Senozhatsky wrote: > On (12/31/15 19:18), Serge E. Hallyn wrote: > > On Fri, Jan 01, 2016 at 10:10:35AM +0900, Sergey Senozhatsky wrote: > > > On (12/31/15 19:08), Serge E. Hallyn wrote: > > > > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > > > > > > > > > Oleg Nesterov wrote: > > > > > > > > > > :Because is_global_init() is only true for the main thread of /sbin/init. > > > > > : > > > > > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > > > > > :select_bad_process() can happily find a sub-thread of is_global_init() > > > > > :and still kill it. > > > > > > > > > > this is still the case, isn't it? at least in some -stable kernels. > > > > > is there (or was there) any reason this change has never been committed? > > > > > (I'm particularly interested in is_global_init()). > > > > > > > > ... seems like it makes sense. Can you remind us which init you're having > > > > to deal with? > > > > > > > > > > systemd > > > > > > -ss > > > > Well it makes sense to me. The question is whether we are protecting the > > thing running as init, or the 'physical' thread with pid 1. I think it's > > the former, so let's push on this. Please resend the patch with a proper > > signed-off-by, and feel free to add > > thanks. a bit puzzled, would reported-by Oleg and suggested-by Richard > be appropriate? Sounds good. > (no objections if Oleg or Richard will submit it). > > Acked-by: Serge Hallyn <serge.hallyn@canonical.com> > > -ss ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [RFC] is_global_init() called on global init sub-thread 2016-01-01 1:33 ` Sergey Senozhatsky 2016-01-01 2:28 ` Serge E. Hallyn @ 2016-01-04 7:51 ` Richard Guy Briggs 1 sibling, 0 replies; 7+ messages in thread From: Richard Guy Briggs @ 2016-01-04 7:51 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Serge E. Hallyn, Sergey Senozhatsky, Oleg Nesterov, Peter Zijlstra, Andrew Morton, Eric W. Biederman, Serge E. Hallyn, linux-kernel On 16/01/01, Sergey Senozhatsky wrote: > On (12/31/15 19:18), Serge E. Hallyn wrote: > > On Fri, Jan 01, 2016 at 10:10:35AM +0900, Sergey Senozhatsky wrote: > > > On (12/31/15 19:08), Serge E. Hallyn wrote: > > > > > re-upping https://www.redhat.com/archives/linux-audit/2013-December/msg00086.html > > > > > > > > > > Oleg Nesterov wrote: > > > > > > > > > > :Because is_global_init() is only true for the main thread of /sbin/init. > > > > > : > > > > > :Just look at oom_unkillable_task(). It tries to not kill init. But, say, > > > > > :select_bad_process() can happily find a sub-thread of is_global_init() > > > > > :and still kill it. > > > > > > > > > > this is still the case, isn't it? at least in some -stable kernels. > > > > > is there (or was there) any reason this change has never been committed? > > > > > (I'm particularly interested in is_global_init()). > > > > > > > > ... seems like it makes sense. Can you remind us which init you're having > > > > to deal with? > > > > > > > > > > systemd > > > > > > -ss > > > > Well it makes sense to me. The question is whether we are protecting the > > thing running as init, or the 'physical' thread with pid 1. I think it's > > the former, so let's push on this. Please resend the patch with a proper > > signed-off-by, and feel free to add > > thanks. a bit puzzled, would reported-by Oleg and suggested-by Richard > be appropriate? (no objections if Oleg or Richard will submit it). This works for me. I have more patches related to it, but I'll re-submit them later. > > Acked-by: Serge Hallyn <serge.hallyn@canonical.com> > > -ss - RGB -- Richard Guy Briggs <rbriggs@redhat.com> Senior Software Engineer, Kernel Security, AMER ENG Base Operating Systems, Red Hat Remote, Ottawa, Canada Voice: +1.647.777.2635, Internal: (81) 32635, Alt: +1.613.693.0684x3545 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-01-04 7:51 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-30 6:25 [RFC] is_global_init() called on global init sub-thread Sergey Senozhatsky 2016-01-01 1:08 ` Serge E. Hallyn 2016-01-01 1:10 ` Sergey Senozhatsky 2016-01-01 1:18 ` Serge E. Hallyn 2016-01-01 1:33 ` Sergey Senozhatsky 2016-01-01 2:28 ` Serge E. Hallyn 2016-01-04 7:51 ` Richard Guy Briggs
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox