diff options
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/kernel/exit.c b/kernel/exit.c index 2833ffb0c211..0b81b26a872a 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -619,8 +619,8 @@ static void forget_original_parent(struct task_struct *father,  	reaper = find_new_reaper(father, reaper);  	list_for_each_entry(p, &father->children, sibling) {  		for_each_thread(p, t) { -			t->real_parent = reaper; -			BUG_ON((!t->ptrace) != (t->parent == father)); +			RCU_INIT_POINTER(t->real_parent, reaper); +			BUG_ON((!t->ptrace) != (rcu_access_pointer(t->parent) == father));  			if (likely(!t->ptrace))  				t->parent = t->real_parent;  			if (t->pdeath_signal) |