aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@shinybook.infradead.org>2005-07-02 09:10:46 -0400
committerDavid Woodhouse <dwmw2@shinybook.infradead.org>2005-07-02 09:10:46 -0400
commit21af6c4f2aa5f63138871b4ddd77d7ebf2588c9d (patch)
tree5f10080f93bc6460ef87886a906498cec332b1a6
parentac4cec443a80bfde829516e7a7db10f7325aa528 (diff)
AUDIT: Really don't audit auditd.
The pid in the audit context isn't always set up. Use tsk->pid when checking whether it's auditd in audit_filter_syscall(), instead of ctx->pid. Remove a band-aid which did the same elsewhere. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-rw-r--r--kernel/auditsc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 34a990223c9e..0fdd90194ecc 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -516,7 +516,7 @@ static enum audit_state audit_filter_syscall(struct task_struct *tsk,
516 int word = AUDIT_WORD(ctx->major); 516 int word = AUDIT_WORD(ctx->major);
517 int bit = AUDIT_BIT(ctx->major); 517 int bit = AUDIT_BIT(ctx->major);
518 518
519 if (audit_pid && ctx->pid == audit_pid) 519 if (audit_pid && tsk->pid == audit_pid)
520 return AUDIT_DISABLED; 520 return AUDIT_DISABLED;
521 521
522 rcu_read_lock(); 522 rcu_read_lock();
@@ -601,7 +601,7 @@ static inline struct audit_context *audit_get_context(struct task_struct *tsk,
601 context->return_valid = return_valid; 601 context->return_valid = return_valid;
602 context->return_code = return_code; 602 context->return_code = return_code;
603 603
604 if (context->in_syscall && !context->auditable && tsk->pid != audit_pid) { 604 if (context->in_syscall && !context->auditable) {
605 enum audit_state state; 605 enum audit_state state;
606 state = audit_filter_syscall(tsk, context, &audit_filter_list[AUDIT_FILTER_EXIT]); 606 state = audit_filter_syscall(tsk, context, &audit_filter_list[AUDIT_FILTER_EXIT]);
607 if (state == AUDIT_RECORD_CONTEXT) 607 if (state == AUDIT_RECORD_CONTEXT)