|
|
@@ -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__,
|