summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-06-23 22:37:04 (GMT)
committerRoland McGrath <roland@redhat.com>2008-07-24 00:47:32 (GMT)
commit86a1c34a929f30fde8ad01ea8245df61ddcf58b7 (patch)
treec4983e33488c66d3fcccad07b87b27f1bd2e6841 /kernel
parent15e8f348db372dec21229fda5d52ae6ee7e64666 (diff)
downloadlinux-fsl-qoriq-86a1c34a929f30fde8ad01ea8245df61ddcf58b7.tar.xz
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')
-rw-r--r--kernel/auditsc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index c10e7aa..4699950 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