Merge tag 'for-v3.15-rc/omap-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / drivers / tty / tty_audit.c
index 5f3868202183f8fd76870447cfc73f4039455b76..90ca082935f635236a5c2ca5f4da48b99297b48f 100644 (file)
@@ -65,16 +65,17 @@ static void tty_audit_log(const char *description, int major, int minor,
 {
        struct audit_buffer *ab;
        struct task_struct *tsk = current;
+       pid_t pid = task_pid_nr(tsk);
        uid_t uid = from_kuid(&init_user_ns, task_uid(tsk));
        uid_t loginuid = from_kuid(&init_user_ns, audit_get_loginuid(tsk));
-       u32 sessionid = audit_get_sessionid(tsk);
+       unsigned int sessionid = audit_get_sessionid(tsk);
 
        ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_TTY);
        if (ab) {
                char name[sizeof(tsk->comm)];
 
                audit_log_format(ab, "%s pid=%u uid=%u auid=%u ses=%u major=%d"
-                                " minor=%d comm=", description, tsk->pid, uid,
+                                " minor=%d comm=", description, pid, uid,
                                 loginuid, sessionid, major, minor);
                get_task_comm(name, tsk);
                audit_log_untrustedstring(ab, name);
@@ -111,12 +112,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;
 
@@ -134,12 +132,8 @@ void tty_audit_exit(void)
  */
 void tty_audit_fork(struct signal_struct *sig)
 {
-       unsigned long flags;
-
-       spin_lock_irqsave(&current->sighand->siglock, flags);
        sig->audit_tty = current->signal->audit_tty;
        sig->audit_tty_log_passwd = current->signal->audit_tty_log_passwd;
-       spin_unlock_irqrestore(&current->sighand->siglock, flags);
 }
 
 /**