audit: do not needlessly take a lock in tty_audit_exit
authorEric Paris <eparis@redhat.com>
Tue, 30 Apr 2013 14:46:46 +0000 (10:46 -0400)
committerEric Paris <eparis@redhat.com>
Tue, 30 Apr 2013 19:31:28 +0000 (15:31 -0400)
We were doing spin_lock_irq and spin_unlock_irq.  This is STOOPID.

If we were in interupt context we were already screwed and called
panic() in do_exit().  So the irq stuff is useless.  Also, these values
can only be changed by receiving a netlink message from current.  Since
we are in do_exit() clearly we aren't in the syscall sending the netlink
message to change these values.  Thus, just read them and go with it.

Signed-off-by: Eric Paris <eparis@redhat.com>
drivers/tty/tty_audit.c

index a03a751..a4fdce7 100644 (file)
@@ -111,12 +111,9 @@ static void tty_audit_buf_push(struct tty_audit_buf *buf)
 void tty_audit_exit(void)
 {
        struct tty_audit_buf *buf;
-       unsigned long flags;
 
-       spin_lock_irqsave(&current->sighand->siglock, flags);
        buf = current->signal->tty_audit_buf;
        current->signal->tty_audit_buf = NULL;
-       spin_unlock_irqrestore(&current->sighand->siglock, flags);
        if (!buf)
                return;