Re: [PATCH] signal: Avoid corrupting si_pid and si_uid in do_notify_parent

From: Oleg Nesterov
Date: Tue Apr 21 2020 - 05:28:56 EST


On 04/21, Christian Brauner wrote:
>
> > - __group_send_sig_info(sig, &info, tsk->parent);
> > + __send_signal(sig, &info, tsk->parent, PIDTYPE_TGID, false);
>
> So below you switch to __send_signal() but set the "force" argument to
> to "false".

it must be false, the signal is generated from the parent's namespace or
its descendant

> Before that, if the signal was generated from another pid
> namespace and we fixed up si_pid and si_uid the "force" argument was set
> to "true",

before that the "force" argument could be falsely true by the same reason,
task_pid_nr_ns(tsk, tsk->parent) can return 0 because "tsk" no longer have
pids after __unhash_process().

Oleg.