On 02/10, Oleg Nesterov wrote:
On 02/10, Christian Brauner wrote:
quoted
+ if (type == PIDFD_SIGNAL_PROCESS_GROUP)
+ ret = kill_pgrp_info(sig, &kinfo, pid);
I guess you meant
if (type == PIDTYPE_PGID)
other than that,
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Yes, but there is another thing I hadn't thought of...
sys_pidfd_send_signal() does
/* Only allow sending arbitrary signals to yourself. */
ret = -EPERM;
if ((task_pid(current) != pid) &&
(kinfo.si_code >= 0 || kinfo.si_code == SI_TKILL))
goto err;
and I am not sure that task_pid(current) == pid should allow
the "arbitrary signals" if PIDFD_SIGNAL_PROCESS_GROUP.
Perhaps
/* Only allow sending arbitrary signals to yourself. */
ret = -EPERM;
if ((task_pid(current) != pid || type == PIDTYPE_PGID) &&
(kinfo.si_code >= 0 || kinfo.si_code == SI_TKILL)
goto err;
?
Oleg.