From: Alan Cox <alan@linux.intel.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH 5/5] tty: split the lock up a bit further
Date: Wed, 18 Nov 2009 14:26:45 +0000 [thread overview]
Message-ID: <20091118142634.3806.11729.stgit@localhost.localdomain> (raw)
In-Reply-To: <20091118142313.3806.47368.stgit@localhost.localdomain>
The tty count sanity check may need the BKL, that isn't clear. However it
is clear that the count use of the lock is internal and independant of the
bigger use of the lock.
Furthermore the file list locking is also separately locked already
Signed-off-by: Alan Cox <alan@linux.intel.com>
---
drivers/char/tty_io.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index aee68f5..4c2f793 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -516,6 +516,8 @@ static void do_tty_hangup(struct work_struct *work)
/* inuse_filps is protected by the single kernel lock */
lock_kernel();
check_tty_count(tty, "do_tty_hangup");
+ unlock_kernel();
+
file_list_lock();
/* This breaks for file handles being sent over AF_UNIX sockets ? */
list_for_each_entry(filp, &tty->tty_files, f_u.fu_list) {
@@ -529,6 +531,7 @@ static void do_tty_hangup(struct work_struct *work)
}
file_list_unlock();
+ lock_kernel();
tty_ldisc_hangup(tty);
read_lock(&tasklist_lock);
prev parent reply other threads:[~2009-11-18 14:43 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-18 14:23 [RFC PATCH 0/5] tty BKL pushdown Alan Cox
2009-11-18 14:25 ` [RFC PATCH 1/5] tty: push the BKL down into the handlers a bit Alan Cox
2009-11-20 12:34 ` Dan Carpenter
2009-11-18 14:26 ` [PATCH 2/5] tty: Push the lock down further into the ldisc code Alan Cox
2009-11-18 14:26 ` [PATCH 3/5] tty: Push the bkl down a bit in the hangup code Alan Cox
2009-11-18 14:26 ` [PATCH 4/5] tty: Move the leader test in disassociate Alan Cox
2009-11-18 14:26 ` Alan Cox [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091118142634.3806.11729.stgit@localhost.localdomain \
--to=alan@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox