summaryrefslogtreecommitdiff
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2007-10-18 03:04:45 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-18 14:37:18 -0700
commit2e1318956ce6bf149af5c5e98499b5cd99f99c89 (patch)
tree67226430b51133635bea0a74b670441562de9144 /kernel/fork.c
parent232b14328050a4639130b0dec185f43968e72035 (diff)
downloadlwn-2e1318956ce6bf149af5c5e98499b5cd99f99c89.tar.gz
lwn-2e1318956ce6bf149af5c5e98499b5cd99f99c89.zip
freezer: prevent new tasks from inheriting TIF_FREEZE set
Tasks should go to the refrigerator only if explicitly requested to do that by the freezer and not as a result of inheriting the TIF_FREEZE flag set from the parent. Make it happen. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Acked-by: Nigel Cunningham <nigel@nigel.suspend2.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 490495a39c7e..7e455a93a75a 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -942,6 +942,7 @@ static inline void copy_flags(unsigned long clone_flags, struct task_struct *p)
if (!(clone_flags & CLONE_PTRACE))
p->ptrace = 0;
p->flags = new_flags;
+ clear_freeze_flag(p);
}
asmlinkage long sys_set_tid_address(int __user *tidptr)