tty: audit: Combine push functions
authorPeter Hurley <peter@hurleysoftware.com>
Sun, 10 Jan 2016 06:55:31 +0000 (22:55 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jan 2016 00:41:04 +0000 (16:41 -0800)
tty_audit_push() and tty_audit_push_current() perform identical
tasks; eliminate the tty_audit_push() implementation and the
tty_audit_push_current() name.

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_audit.c
include/linux/tty.h
kernel/audit.c

index 5ae48396e26544c40991cea99bc632981b818dbe..6b82c3ce321f28b051e8b233dd5293df2c1a93b1 100644 (file)
@@ -172,12 +172,11 @@ void tty_audit_tiocsti(struct tty_struct *tty, char ch)
 }
 
 /**
- * tty_audit_push_current -    Flush current's pending audit data
+ *     tty_audit_push  -       Flush current's pending audit data
  *
- * Try to lock sighand and get a reference to the tty audit buffer if available.
- * Flush the buffer or return an appropriate error code.
+ *     Returns 0 if success, -EPERM if tty audit is disabled
  */
-int tty_audit_push_current(void)
+int tty_audit_push(void)
 {
        struct tty_audit_buf *buf = ERR_PTR(-EPERM);
        unsigned long flags;
@@ -309,31 +308,3 @@ void tty_audit_add_data(struct tty_struct *tty, const void *data, size_t size)
        mutex_unlock(&buf->mutex);
        tty_audit_buf_put(buf);
 }
-
-/**
- *     tty_audit_push  -       Push buffered data out
- *
- *     Make sure no audit data is pending on the current process.
- */
-void tty_audit_push(void)
-{
-       struct tty_audit_buf *buf;
-       unsigned long flags;
-
-       spin_lock_irqsave(&current->sighand->siglock, flags);
-       if (likely(!current->signal->audit_tty)) {
-               spin_unlock_irqrestore(&current->sighand->siglock, flags);
-               return;
-       }
-       buf = current->signal->tty_audit_buf;
-       if (buf)
-               atomic_inc(&buf->count);
-       spin_unlock_irqrestore(&current->sighand->siglock, flags);
-
-       if (buf) {
-               mutex_lock(&buf->mutex);
-               tty_audit_buf_push(buf);
-               mutex_unlock(&buf->mutex);
-               tty_audit_buf_put(buf);
-       }
-}
index 83d74dcfb3c8e9f718f30b1c4163d2c7fc189943..dea7d54d00d42630dfa7ea76a62091a2ba6fbf6f 100644 (file)
@@ -597,8 +597,7 @@ extern void tty_audit_add_data(struct tty_struct *tty, const void *data,
 extern void tty_audit_exit(void);
 extern void tty_audit_fork(struct signal_struct *sig);
 extern void tty_audit_tiocsti(struct tty_struct *tty, char ch);
-extern void tty_audit_push(void);
-extern int tty_audit_push_current(void);
+extern int tty_audit_push(void);
 #else
 static inline void tty_audit_add_data(struct tty_struct *tty, const void *data,
                                      size_t size)
@@ -613,10 +612,7 @@ static inline void tty_audit_exit(void)
 static inline void tty_audit_fork(struct signal_struct *sig)
 {
 }
-static inline void tty_audit_push(void)
-{
-}
-static inline int tty_audit_push_current(void)
+static inline int tty_audit_push(void)
 {
        return 0;
 }
index 3a3e5deeda8d3e5f16977c7fac2ceac4480f792b..610f221df069035a55b23e9424f445e0aeab7e01 100644 (file)
@@ -920,7 +920,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
                if (err == 1) { /* match or error */
                        err = 0;
                        if (msg_type == AUDIT_USER_TTY) {
-                               err = tty_audit_push_current();
+                               err = tty_audit_push();
                                if (err)
                                        break;
                        }