Oleg Nesterov wrote:
On 07/26, Pavel Emelyanov wrote:int kill_proc(pid_t pid, int sig, int priv) { - return kill_proc_info(sig, __si_special(priv), pid); + int ret; + + rcu_read_lock(); + ret = kill_pid_info(sig, __si_special(priv), find_pid(pid)); + rcu_read_unlock(); + return ret; }I think this is wrong. kill_proc() should behave the same as kill_proc_info(), so this change is not needed. With this patch they use different namespaces to find the task, this is not consistent.
Actually, callers of this use tsk->pid (global pid) as an argument, so find_vpid() might return wrong value.
(sadly, this patch is huge, very difficult to review).
This is *very* huge, but all it does is just replace tsk->pid, find_task_by_pid, pd_nr, etc with appropriate task_pid_nr(), pid_nr_ns() and find_task_by_vpid() etc.
Oleg.
Thanks, Pavel _______________________________________________ Devel mailing list [email protected] https://openvz.org/mailman/listinfo/devel
