aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2006-09-29 05:00:57 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-29 12:18:18 -0400
commitde2a84f2be8ed8a166f13d6aa2ae474541172bb2 (patch)
tree1c6e236c8fb87ec37d4e7cce126e42361156e471
parent074a5dde04abc66eea30368c74913d83b1a410f9 (diff)
[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.c3
-rw-r--r--drivers/char/tty_io.c1
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 @@
11#include <linux/limits.h> 11#include <linux/limits.h>
12#include <linux/mm.h> 12#include <linux/mm.h>
13#include <linux/smp.h> 13#include <linux/smp.h>
14#include <linux/tty.h>
14#include <linux/mman.h> 15#include <linux/mman.h>
15#include <linux/file.h> 16#include <linux/file.h>
16#include <linux/timex.h> 17#include <linux/timex.h>
@@ -422,7 +423,9 @@ asmlinkage int solaris_procids(int cmd, s32 pid, s32 pgid)
422 Solaris setpgrp and setsid? */ 423 Solaris setpgrp and setsid? */
423 ret = sys_setpgid(0, 0); 424 ret = sys_setpgid(0, 0);
424 if (ret) return ret; 425 if (ret) return ret;
426 mutex_lock(&tty_mutex);
425 current->signal->tty = NULL; 427 current->signal->tty = NULL;
428 mutex_unlock(&tty_mutex);
426 return process_group(current); 429 return process_group(current);
427 } 430 }
428 case 2: /* getsid */ 431 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 */
129/* Semaphore to protect creating and releasing a tty. This is shared with 129/* Semaphore to protect creating and releasing a tty. This is shared with
130 vt.c for deeply disgusting hack reasons */ 130 vt.c for deeply disgusting hack reasons */
131DEFINE_MUTEX(tty_mutex); 131DEFINE_MUTEX(tty_mutex);
132EXPORT_SYMBOL(tty_mutex);
132 133
133#ifdef CONFIG_UNIX98_PTYS 134#ifdef CONFIG_UNIX98_PTYS
134extern struct tty_driver *ptm_driver; /* Unix98 pty masters; for /dev/ptmx */ 135extern struct tty_driver *ptm_driver; /* Unix98 pty masters; for /dev/ptmx */