diff options
Diffstat (limited to 'drivers/tty/tty_audit.c')
-rw-r--r-- | drivers/tty/tty_audit.c | 13 |
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); |