Merge remote-tracking branches 'asoc/fix/audmux', 'asoc/fix/cs42l52', 'asoc/fix/fsl...
[firefly-linux-kernel-4.4.55.git] / drivers / tty / tty_audit.c
index a03a75163f02efc650be4a7031c72543cb1c67c3..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;