diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-10-18 06:04:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:18 -0400 |
commit | 2e1318956ce6bf149af5c5e98499b5cd99f99c89 (patch) | |
tree | 67226430b51133635bea0a74b670441562de9144 | |
parent | 232b14328050a4639130b0dec185f43968e72035 (diff) |
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) | |||
942 | if (!(clone_flags & CLONE_PTRACE)) | 942 | if (!(clone_flags & CLONE_PTRACE)) |
943 | p->ptrace = 0; | 943 | p->ptrace = 0; |
944 | p->flags = new_flags; | 944 | p->flags = new_flags; |
945 | clear_freeze_flag(p); | ||
945 | } | 946 | } |
946 | 947 | ||
947 | asmlinkage long sys_set_tid_address(int __user *tidptr) | 948 | asmlinkage long sys_set_tid_address(int __user *tidptr) |