diff options
author | David Abdurachmanov <david.abdurachmanov@gmail.com> | 2018-10-29 11:48:54 +0100 |
---|---|---|
committer | Palmer Dabbelt <palmer@sifive.com> | 2019-01-07 08:22:40 -0800 |
commit | 0aea89430a4c79c65c541c947497007d33fbe002 (patch) | |
tree | 7318444d5544bda424b8712446abbecfecbc4ece /arch | |
parent | efe75c494f57890900caf6c8a0667db35bfaf56a (diff) | |
download | lwn-0aea89430a4c79c65c541c947497007d33fbe002.tar.gz lwn-0aea89430a4c79c65c541c947497007d33fbe002.zip |
riscv: audit: add audit hook in do_syscall_trace_enter/exit()
This patch adds auditing functions on entry to and exit from every system
call invocation.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/riscv/kernel/ptrace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/riscv/kernel/ptrace.c b/arch/riscv/kernel/ptrace.c index 60f1e02eed36..c1b51539c3e2 100644 --- a/arch/riscv/kernel/ptrace.c +++ b/arch/riscv/kernel/ptrace.c @@ -18,6 +18,7 @@ #include <asm/ptrace.h> #include <asm/syscall.h> #include <asm/thread_info.h> +#include <linux/audit.h> #include <linux/ptrace.h> #include <linux/elf.h> #include <linux/regset.h> @@ -163,10 +164,14 @@ void do_syscall_trace_enter(struct pt_regs *regs) if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) trace_sys_enter(regs, syscall_get_nr(current, regs)); #endif + + audit_syscall_entry(regs->a7, regs->a0, regs->a1, regs->a2, regs->a3); } void do_syscall_trace_exit(struct pt_regs *regs) { + audit_syscall_exit(regs); + if (test_thread_flag(TIF_SYSCALL_TRACE)) tracehook_report_syscall_exit(regs, 0); |