diff options
Diffstat (limited to 'drivers/tty/tty_io.c')
| -rw-r--r-- | drivers/tty/tty_io.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 4f35b43e2475..51f066aa375e 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1464,6 +1464,9 @@ static int tty_reopen(struct tty_struct *tty)  	    driver->subtype == PTY_TYPE_MASTER)  		return -EIO; +	if (test_bit(TTY_EXCLUSIVE, &tty->flags) && !capable(CAP_SYS_ADMIN)) +		return -EBUSY; +  	tty->count++;  	WARN_ON(!tty->ldisc); @@ -2106,10 +2109,6 @@ retry_open:  		retval = -ENODEV;  	filp->f_flags = saved_flags; -	if (!retval && test_bit(TTY_EXCLUSIVE, &tty->flags) && -						!capable(CAP_SYS_ADMIN)) -		retval = -EBUSY; -  	if (retval) {  #ifdef TTY_DEBUG_HANGUP  		printk(KERN_DEBUG "%s: error %d in opening %s...\n", __func__, | 
