lkml.org 
[lkml]   [2009]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 58/58] tty: split the lock up a bit further
    Date
    From: Alan Cox <alan@linux.intel.com>

    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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    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 a19fef2..684f0e0 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);
    --
    1.6.5.5


    \
     
     \ /
      Last update: 2009-12-12 00:35    [W:0.025 / U:0.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site