From: Peter Hurley Date: Sun, 10 Jan 2016 06:55:25 +0000 (-0800) Subject: tty: audit: Early-out pty master reads earlier X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d7c0ba40ebb32510e2c5d80a392474320cab8a2d;p=linux-beck.git tty: audit: Early-out pty master reads earlier Reads from pty masters are not logged; early-out before taking locks. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/tty_audit.c b/drivers/tty/tty_audit.c index 3d245cd3d8e6..ead924e4bd53 100644 --- a/drivers/tty/tty_audit.c +++ b/drivers/tty/tty_audit.c @@ -276,16 +276,16 @@ void tty_audit_add_data(struct tty_struct *tty, const void *data, if (unlikely(size == 0)) return; + if (tty->driver->type == TTY_DRIVER_TYPE_PTY + && tty->driver->subtype == PTY_TYPE_MASTER) + return; + spin_lock_irqsave(¤t->sighand->siglock, flags); audit_log_tty_passwd = current->signal->audit_tty_log_passwd; spin_unlock_irqrestore(¤t->sighand->siglock, flags); if (!audit_log_tty_passwd && icanon && !L_ECHO(tty)) return; - if (tty->driver->type == TTY_DRIVER_TYPE_PTY - && tty->driver->subtype == PTY_TYPE_MASTER) - return; - buf = tty_audit_buf_get(tty, icanon); if (!buf) return;