Isolate some explicit usage of task->tgid
With pid namespaces this field is now dangerous to use explicitly, so hide it behind the helpers. Also the pid and pgrp fields o task_struct and signal_struct are to be deprecated. Unfortunately this patch cannot be sent right now as this leads to tons of warnings, so start isolating them, and deprecate later. Actually the p->tgid == pid has to be changed to has_group_leader_pid(), but Oleg pointed out that in case of posix cpu timers this is the same, and thread_group_leader() is more preferable. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Acked-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Sukadev Bhattiprolu <sukadev@us.ibm.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
此提交包含在:
@@ -326,7 +326,7 @@ static int oom_kill_task(struct task_struct *p)
|
||||
* to memory reserves though, otherwise we might deplete all memory.
|
||||
*/
|
||||
do_each_thread(g, q) {
|
||||
if (q->mm == mm && q->tgid != p->tgid)
|
||||
if (q->mm == mm && !same_thread_group(q, p))
|
||||
force_sig(SIGKILL, q);
|
||||
} while_each_thread(g, q);
|
||||
|
||||
|
新增問題並參考
封鎖使用者