lkml.org 
[lkml]   [2014]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tty-next 18/22] tty: Move tty hung up check from port->lock critical section
    Date
    The port->lock does not protect the filp->f_op field; move
    the tty_hung_up_p() test outside the port->lock critical section
    in tty_port_close_start().

    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    ---
    drivers/tty/tty_port.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
    index 896eebf..be5deff 100644
    --- a/drivers/tty/tty_port.c
    +++ b/drivers/tty/tty_port.c
    @@ -459,12 +459,10 @@ int tty_port_close_start(struct tty_port *port,
    {
    unsigned long flags;

    - spin_lock_irqsave(&port->lock, flags);
    - if (tty_hung_up_p(filp)) {
    - spin_unlock_irqrestore(&port->lock, flags);
    + if (tty_hung_up_p(filp))
    return 0;
    - }

    + spin_lock_irqsave(&port->lock, flags);
    if (tty->count == 1 && port->count != 1) {
    printk(KERN_WARNING
    "tty_port_close_start: tty->count = 1 port count = %d.\n",
    --
    2.0.0


    \
     
     \ /
      Last update: 2014-06-16 16:21    [W:2.875 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site