Re: [PATCH v2] kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd

From: Oleg Nesterov
Date: Tue Aug 23 2016 - 12:41:45 EST


On 08/23, Michal Hocko wrote:
>
> --- a/kernel/fork.c
> +++ b/kernel/fork.c
> @@ -913,14 +913,11 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm)
> deactivate_mm(tsk, mm);
>
> /*
> - * If we're exiting normally, clear a user-space tid field if
> - * requested. We leave this alone when dying by signal, to leave
> - * the value intact in a core dump, and to save the unnecessary
> - * trouble, say, a killed vfork parent shouldn't touch this mm.
> - * Userland only wants this done for a sys_exit.
> + * Signal userspace if we're not exiting with a core dump
> + * or a killed vfork parent which shouldn't touch this mm.

Well. ACK, but the comment looks wrong...

The "killed vfork parent ..." part should be removed, as you pointed
out this is no longer true.

OTOH, to me it would be better to not remove the "leave the value
intact in a core dump" part, otherwise the " we're not exiting with
a core dump" looks pointless because SIGNAL_GROUP_COREDUMP is self-
documenting.

Oleg.