summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-11-28 22:43:48 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-28 23:42:23 +0100
commitc13cf856cbe16aec3007604dc013cbf3a16c6686 (patch)
tree0d05f46a20de1abf59c02af4e819ccfae0a8d009 /kernel
parent[PATCH] memory_sysdev_class is static (diff)
downloadlinux-c13cf856cbe16aec3007604dc013cbf3a16c6686.tar.xz
linux-c13cf856cbe16aec3007604dc013cbf3a16c6686.zip
[PATCH] fork.c: proc_fork_connector() called under write_lock()
Don't do that - it does GFP_KERNEL allocations, for a start. (Reported by Guillaume Thouvenin <guillaume.thouvenin@bull.net>) Acked-by: Matt Helsley <matthltc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/fork.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 1c1cf8dc396b..d0d49879ab7c 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1135,13 +1135,13 @@ static task_t *copy_process(unsigned long clone_flags,
__get_cpu_var(process_counts)++;
}
- proc_fork_connector(p);
if (!current->signal->tty && p->signal->tty)
p->signal->tty = NULL;
nr_threads++;
total_forks++;
write_unlock_irq(&tasklist_lock);
+ proc_fork_connector(p);
retval = 0;
fork_out: