aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/tty_audit.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/tty/tty_audit.c')
-rw-r--r--drivers/tty/tty_audit.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/tty/tty_audit.c b/drivers/tty/tty_audit.c
index 50f567b6a66e..28f87fd6a28e 100644
--- a/drivers/tty/tty_audit.c
+++ b/drivers/tty/tty_audit.c
@@ -61,20 +61,19 @@ static void tty_audit_log(const char *description, dev_t dev,
61 unsigned char *data, size_t size) 61 unsigned char *data, size_t size)
62{ 62{
63 struct audit_buffer *ab; 63 struct audit_buffer *ab;
64 struct task_struct *tsk = current; 64 pid_t pid = task_pid_nr(current);
65 pid_t pid = task_pid_nr(tsk); 65 uid_t uid = from_kuid(&init_user_ns, task_uid(current));
66 uid_t uid = from_kuid(&init_user_ns, task_uid(tsk)); 66 uid_t loginuid = from_kuid(&init_user_ns, audit_get_loginuid(current));
67 uid_t loginuid = from_kuid(&init_user_ns, audit_get_loginuid(tsk)); 67 unsigned int sessionid = audit_get_sessionid(current);
68 unsigned int sessionid = audit_get_sessionid(tsk);
69 68
70 ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_TTY); 69 ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_TTY);
71 if (ab) { 70 if (ab) {
72 char name[sizeof(tsk->comm)]; 71 char name[sizeof(current->comm)];
73 72
74 audit_log_format(ab, "%s pid=%u uid=%u auid=%u ses=%u major=%d" 73 audit_log_format(ab, "%s pid=%u uid=%u auid=%u ses=%u major=%d"
75 " minor=%d comm=", description, pid, uid, 74 " minor=%d comm=", description, pid, uid,
76 loginuid, sessionid, MAJOR(dev), MINOR(dev)); 75 loginuid, sessionid, MAJOR(dev), MINOR(dev));
77 get_task_comm(name, tsk); 76 get_task_comm(name, current);
78 audit_log_untrustedstring(ab, name); 77 audit_log_untrustedstring(ab, name);
79 audit_log_format(ab, " data="); 78 audit_log_format(ab, " data=");
80 audit_log_n_hex(ab, data, size); 79 audit_log_n_hex(ab, data, size);