diff options
author | Eric Paris <eparis@redhat.com> | 2013-04-30 10:46:46 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2013-04-30 15:31:28 -0400 |
commit | bee0a224e791cccbc7ecd7faf2d5932942668976 (patch) | |
tree | 2ce6e13d41ce4c6b30e68ca18700d695ca950206 /drivers/tty | |
parent | 2ce88dd04276839002a3b31161090d282316610b (diff) |
audit: do not needlessly take a lock in tty_audit_exit
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>
Diffstat (limited to 'drivers/tty')
-rw-r--r-- | drivers/tty/tty_audit.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/tty/tty_audit.c b/drivers/tty/tty_audit.c index a03a75163f02..a4fdce74f883 100644 --- a/drivers/tty/tty_audit.c +++ b/drivers/tty/tty_audit.c | |||
@@ -111,12 +111,9 @@ static void tty_audit_buf_push(struct tty_audit_buf *buf) | |||
111 | void tty_audit_exit(void) | 111 | void tty_audit_exit(void) |
112 | { | 112 | { |
113 | struct tty_audit_buf *buf; | 113 | struct tty_audit_buf *buf; |
114 | unsigned long flags; | ||
115 | 114 | ||
116 | spin_lock_irqsave(¤t->sighand->siglock, flags); | ||
117 | buf = current->signal->tty_audit_buf; | 115 | buf = current->signal->tty_audit_buf; |
118 | current->signal->tty_audit_buf = NULL; | 116 | current->signal->tty_audit_buf = NULL; |
119 | spin_unlock_irqrestore(¤t->sighand->siglock, flags); | ||
120 | if (!buf) | 117 | if (!buf) |
121 | return; | 118 | return; |
122 | 119 | ||