diff options
author | Roland McGrath <roland@redhat.com> | 2008-06-23 15:37:04 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2008-07-23 17:47:32 -0700 |
commit | 86a1c34a929f30fde8ad01ea8245df61ddcf58b7 (patch) | |
tree | c4983e33488c66d3fcccad07b87b27f1bd2e6841 /kernel/auditsc.c | |
parent | 15e8f348db372dec21229fda5d52ae6ee7e64666 (diff) | |
download | linux-86a1c34a929f30fde8ad01ea8245df61ddcf58b7.tar.gz linux-86a1c34a929f30fde8ad01ea8245df61ddcf58b7.tar.bz2 linux-86a1c34a929f30fde8ad01ea8245df61ddcf58b7.zip |
x86_64 syscall audit fast-path
This adds a fast path for 64-bit syscall entry and exit when
TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
This path does not need to save and restore all registers as
the general case of tracing does. Avoiding the iret return path
when syscall audit is enabled helps performance a lot.
Signed-off-by: Roland McGrath <roland@redhat.com>
Diffstat (limited to 'kernel/auditsc.c')
-rw-r--r-- | kernel/auditsc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index c10e7aae04d7..4699950e65bd 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1476,7 +1476,8 @@ void audit_syscall_entry(int arch, int major, struct audit_context *context = tsk->audit_context; enum audit_state state; - BUG_ON(!context); + if (unlikely(!context)) + return; /* * This happens only on certain architectures that make system |