OSDN Git Service

tty: Remove !tty condition from __proc_set_tty()
authorPeter Hurley <peter@hurleysoftware.com>
Thu, 16 Oct 2014 18:59:46 +0000 (14:59 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Nov 2014 00:26:13 +0000 (16:26 -0800)
The tty parameter to __proc_set_tty() cannot be NULL; all
call sites have already dereferenced tty.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Reviewed-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_io.c

index 6bf5f44..b645519 100644 (file)
@@ -506,19 +506,18 @@ void proc_clear_tty(struct task_struct *p)
 
 static void __proc_set_tty(struct tty_struct *tty)
 {
-       if (tty) {
-               unsigned long flags;
-               /* We should not have a session or pgrp to put here but.... */
-               spin_lock_irqsave(&tty->ctrl_lock, flags);
-               put_pid(tty->session);
-               put_pid(tty->pgrp);
-               tty->pgrp = get_pid(task_pgrp(current));
-               spin_unlock_irqrestore(&tty->ctrl_lock, flags);
-               tty->session = get_pid(task_session(current));
-               if (current->signal->tty) {
-                       printk(KERN_DEBUG "tty not NULL!!\n");
-                       tty_kref_put(current->signal->tty);
-               }
+       unsigned long flags;
+
+       /* We should not have a session or pgrp to put here but.... */
+       spin_lock_irqsave(&tty->ctrl_lock, flags);
+       put_pid(tty->session);
+       put_pid(tty->pgrp);
+       tty->pgrp = get_pid(task_pgrp(current));
+       spin_unlock_irqrestore(&tty->ctrl_lock, flags);
+       tty->session = get_pid(task_session(current));
+       if (current->signal->tty) {
+               printk(KERN_DEBUG "tty not NULL!!\n");
+               tty_kref_put(current->signal->tty);
        }
        put_pid(current->signal->tty_old_pgrp);
        current->signal->tty = tty_kref_get(tty);