diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-10-18 03:04:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 14:37:18 -0700 |
commit | 2e1318956ce6bf149af5c5e98499b5cd99f99c89 (patch) | |
tree | 67226430b51133635bea0a74b670441562de9144 | |
parent | 232b14328050a4639130b0dec185f43968e72035 (diff) | |
download | lwn-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>
-rw-r--r-- | kernel/fork.c | 1 |
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) |