|
@@ -2675,7 +2675,7 @@ void __audit_mmap_fd(int fd, int flags)
|
|
|
context->type = AUDIT_MMAP;
|
|
|
}
|
|
|
|
|
|
-static void audit_log_abend(struct audit_buffer *ab, char *reason, long signr)
|
|
|
+static void audit_log_task(struct audit_buffer *ab)
|
|
|
{
|
|
|
kuid_t auid, uid;
|
|
|
kgid_t gid;
|
|
@@ -2693,6 +2693,11 @@ static void audit_log_abend(struct audit_buffer *ab, char *reason, long signr)
|
|
|
audit_log_task_context(ab);
|
|
|
audit_log_format(ab, " pid=%d comm=", current->pid);
|
|
|
audit_log_untrustedstring(ab, current->comm);
|
|
|
+}
|
|
|
+
|
|
|
+static void audit_log_abend(struct audit_buffer *ab, char *reason, long signr)
|
|
|
+{
|
|
|
+ audit_log_task(ab);
|
|
|
audit_log_format(ab, " reason=");
|
|
|
audit_log_string(ab, reason);
|
|
|
audit_log_format(ab, " sig=%ld", signr);
|
|
@@ -2723,8 +2728,11 @@ void __audit_seccomp(unsigned long syscall, long signr, int code)
|
|
|
{
|
|
|
struct audit_buffer *ab;
|
|
|
|
|
|
- ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_ANOM_ABEND);
|
|
|
- audit_log_abend(ab, "seccomp", signr);
|
|
|
+ ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_SECCOMP);
|
|
|
+ if (unlikely(!ab))
|
|
|
+ return;
|
|
|
+ audit_log_task(ab);
|
|
|
+ audit_log_format(ab, " sig=%ld", signr);
|
|
|
audit_log_format(ab, " syscall=%ld", syscall);
|
|
|
audit_log_format(ab, " compat=%d", is_compat_task());
|
|
|
audit_log_format(ab, " ip=0x%lx", KSTK_EIP(current));
|