diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-09-29 02:00:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 09:18:18 -0700 |
commit | de2a84f2be8ed8a166f13d6aa2ae474541172bb2 (patch) | |
tree | 1c6e236c8fb87ec37d4e7cce126e42361156e471 | |
parent | 074a5dde04abc66eea30368c74913d83b1a410f9 (diff) | |
download | linux-de2a84f2be8ed8a166f13d6aa2ae474541172bb2.tar.bz2 |
[PATCH] solaris emulation: incorrect tty locking
[akpm@osdl.org: build fix]
[akpm@osdl.org: warning fix]
Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/sparc64/solaris/misc.c | 3 | ||||
-rw-r--r-- | drivers/char/tty_io.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc64/solaris/misc.c b/arch/sparc64/solaris/misc.c index 642541769a17..9c581328e76a 100644 --- a/arch/sparc64/solaris/misc.c +++ b/arch/sparc64/solaris/misc.c @@ -11,6 +11,7 @@ #include <linux/limits.h> #include <linux/mm.h> #include <linux/smp.h> +#include <linux/tty.h> #include <linux/mman.h> #include <linux/file.h> #include <linux/timex.h> @@ -422,7 +423,9 @@ asmlinkage int solaris_procids(int cmd, s32 pid, s32 pgid) Solaris setpgrp and setsid? */ ret = sys_setpgid(0, 0); if (ret) return ret; + mutex_lock(&tty_mutex); current->signal->tty = NULL; + mutex_unlock(&tty_mutex); return process_group(current); } case 2: /* getsid */ diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 142427c6e8f3..48b59006afcd 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -129,6 +129,7 @@ LIST_HEAD(tty_drivers); /* linked list of tty drivers */ /* Semaphore to protect creating and releasing a tty. This is shared with vt.c for deeply disgusting hack reasons */ DEFINE_MUTEX(tty_mutex); +EXPORT_SYMBOL(tty_mutex); #ifdef CONFIG_UNIX98_PTYS extern struct tty_driver *ptm_driver; /* Unix98 pty masters; for /dev/ptmx */ |