diff options
author | Alan Cox <alan@linux.intel.com> | 2009-11-30 16:18:40 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-12 02:18:08 +0300 |
commit | 38c70b27f9502c31c1d0c29676275f7362cdb0d9 (patch) | |
tree | f7545467d3c060a9df2940f731524b74d2f8c2dd /drivers/char/tty_io.c | |
parent | f18f9498e90327b9b0e245e191029e6e1996d203 (diff) | |
download | linux-38c70b27f9502c31c1d0c29676275f7362cdb0d9.tar.xz |
tty: Push the bkl down a bit in the hangup code
We know that the redirect field is handled via its own locking in all
places
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/char/tty_io.c')
-rw-r--r-- | drivers/char/tty_io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index c408c81c06a0..cc941a3504d7 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -505,8 +505,6 @@ static void do_tty_hangup(struct work_struct *work) if (!tty) return; - /* inuse_filps is protected by the single kernel lock */ - lock_kernel(); spin_lock(&redirect_lock); if (redirect && redirect->private_data == tty) { @@ -515,6 +513,8 @@ static void do_tty_hangup(struct work_struct *work) } spin_unlock(&redirect_lock); + /* inuse_filps is protected by the single kernel lock */ + lock_kernel(); check_tty_count(tty, "do_tty_hangup"); file_list_lock(); /* This breaks for file handles being sent over AF_UNIX sockets ? */ |