diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-09-26 02:33:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-26 11:49:09 -0400 |
commit | b1fc0b1f21c4082d24d1f456a846b4fa7d16a70b (patch) | |
tree | a2568be1bfd435ffcc398357577e8556b34a6fb9 | |
parent | 75e29b18d9a46bf3193278e92dc95609a8cca2ab (diff) |
[PATCH] UML: tty locking
Ensure current->signal->tty doesn't get freed during log_exec().
Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/um/kernel/exec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/um/kernel/exec.c b/arch/um/kernel/exec.c index fc38a6d5906d..0561c43b4685 100644 --- a/arch/um/kernel/exec.c +++ b/arch/um/kernel/exec.c | |||
@@ -41,9 +41,11 @@ static long execve1(char *file, char __user * __user *argv, | |||
41 | long error; | 41 | long error; |
42 | 42 | ||
43 | #ifdef CONFIG_TTY_LOG | 43 | #ifdef CONFIG_TTY_LOG |
44 | task_lock(current); | 44 | mutex_lock(&tty_mutex); |
45 | task_lock(current); /* FIXME: is this needed ? */ | ||
45 | log_exec(argv, current->signal->tty); | 46 | log_exec(argv, current->signal->tty); |
46 | task_unlock(current); | 47 | task_unlock(current); |
48 | mutex_unlock(&tty_mutex); | ||
47 | #endif | 49 | #endif |
48 | error = do_execve(file, argv, env, ¤t->thread.regs); | 50 | error = do_execve(file, argv, env, ¤t->thread.regs); |
49 | if (error == 0){ | 51 | if (error == 0){ |