diff options
Diffstat (limited to 'kernel/auditsc.c')
| -rw-r--r-- | kernel/auditsc.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index af1de0f34eae..4b96415527b8 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
| @@ -67,6 +67,7 @@ | |||
| 67 | #include <linux/syscalls.h> | 67 | #include <linux/syscalls.h> |
| 68 | #include <linux/capability.h> | 68 | #include <linux/capability.h> |
| 69 | #include <linux/fs_struct.h> | 69 | #include <linux/fs_struct.h> |
| 70 | #include <linux/compat.h> | ||
| 70 | 71 | ||
| 71 | #include "audit.h" | 72 | #include "audit.h" |
| 72 | 73 | ||
| @@ -2710,13 +2711,16 @@ void audit_core_dumps(long signr) | |||
| 2710 | audit_log_end(ab); | 2711 | audit_log_end(ab); |
| 2711 | } | 2712 | } |
| 2712 | 2713 | ||
| 2713 | void __audit_seccomp(unsigned long syscall) | 2714 | void __audit_seccomp(unsigned long syscall, long signr, int code) |
| 2714 | { | 2715 | { |
| 2715 | struct audit_buffer *ab; | 2716 | struct audit_buffer *ab; |
| 2716 | 2717 | ||
| 2717 | ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_ANOM_ABEND); | 2718 | ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_ANOM_ABEND); |
| 2718 | audit_log_abend(ab, "seccomp", SIGKILL); | 2719 | audit_log_abend(ab, "seccomp", signr); |
| 2719 | audit_log_format(ab, " syscall=%ld", syscall); | 2720 | audit_log_format(ab, " syscall=%ld", syscall); |
| 2721 | audit_log_format(ab, " compat=%d", is_compat_task()); | ||
| 2722 | audit_log_format(ab, " ip=0x%lx", KSTK_EIP(current)); | ||
| 2723 | audit_log_format(ab, " code=0x%x", code); | ||
| 2720 | audit_log_end(ab); | 2724 | audit_log_end(ab); |
| 2721 | } | 2725 | } |
| 2722 | 2726 | ||
