Re: [RFC] is_global_init() called on global init sub-thread

From: Serge E. Hallyn
Date: Thu Dec 31 2015 - 20:09:15 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/