diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-02 09:10:46 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-07-02 09:10:46 -0400 |
commit | 21af6c4f2aa5f63138871b4ddd77d7ebf2588c9d (patch) | |
tree | 5f10080f93bc6460ef87886a906498cec332b1a6 /kernel/auditsc.c | |
parent | ac4cec443a80bfde829516e7a7db10f7325aa528 (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>
Diffstat (limited to 'kernel/auditsc.c')
-rw-r--r-- | kernel/auditsc.c | 4 |
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) |