From 75bc2bd951b67e9b247cb64f237b6fbb25aa6747 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Wed, 27 Jan 2016 21:48:55 +0100 Subject: [PATCH] - rel 2; fixed strace inside guest (caused lockup in yama); from upstream@daniel_hozac --- kernel-vserver-fixes.patch | 24 ++++++++++++++++++++++++ kernel.spec | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/kernel-vserver-fixes.patch b/kernel-vserver-fixes.patch index 0898f825..f18f26d8 100644 --- a/kernel-vserver-fixes.patch +++ b/kernel-vserver-fixes.patch @@ -28,3 +28,27 @@ rcu_read_unlock(); if (likely(!p || error != -ESRCH)) return error; +--- linux-4.1.3-vs2.3.8.2/kernel/exit.c 2015-09-20 20:06:03.000000000 +0200 ++++ testing41/kernel/exit.c 2016-01-27 20:50:37.170221605 +0100 +@@ -580,8 +580,11 @@ static void forget_original_parent(struc + + reaper = find_new_reaper(father, reaper); + list_for_each_entry(p, &father->children, sibling) { ++ struct task_struct *this_reaper = reaper; ++ if (p == reaper) ++ this_reaper = task_active_pid_ns(reaper)->child_reaper; + for_each_thread(p, t) { +- t->real_parent = reaper; ++ t->real_parent = this_reaper; + BUG_ON((!t->ptrace) != (t->parent == father)); + if (likely(!t->ptrace)) + t->parent = t->real_parent; +@@ -593,7 +596,7 @@ static void forget_original_parent(struc + * If this is a threaded reparent there is no need to + * notify anyone anything has happened. + */ +- if (!same_thread_group(reaper, father)) ++ if (!same_thread_group(this_reaper, father)) + reparent_leader(father, p, dead); + } + list_splice_tail_init(&father->children, &reaper->children); diff --git a/kernel.spec b/kernel.spec index c96fbb79..3bc7226b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ %define have_pcmcia 0 %endif -%define rel 1 +%define rel 2 %define basever 4.1 %define postver .16 -- 2.44.0