From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Guy Briggs Subject: Re: [PATCH v2 1/1] audit_alloc: clear TIF_SYSCALL_AUDIT if !audit_context Date: Mon, 23 Sep 2013 17:55:15 -0400 Message-ID: <20130923215515.GW13968@madcap2.tricolour.ca> References: <20130915171038.GA15410@redhat.com> <20130915171109.GA15418@redhat.com> <1379693282.5434.10.camel@flatline.rdu.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1379693282.5434.10.camel@flatline.rdu.redhat.com> Sender: linux-kernel-owner@vger.kernel.org To: Eric Paris Cc: Oleg Nesterov , Andrew Morton , Kees Cook , Steve Grubb , Zach Levis , linux-audit@redhat.com, linux-kernel@vger.kernel.org List-Id: linux-audit@redhat.com On Fri, Sep 20, 2013 at 12:08:02PM -0400, Eric Paris wrote: > On Sun, 2013-09-15 at 19:11 +0200, Oleg Nesterov wrote: > > If audit_filter_task() nacks the new thread it makes sense > > to clear TIF_SYSCALL_AUDIT which can be copied from parent > > by dup_task_struct(). > > > > A wrong TIF_SYSCALL_AUDIT is not really bad but it triggers > > the "slow" audit paths in entry.S to ensure the task can not > > miss audit_syscall_*() calls, this is pointless if the task > > has no ->audit_context. > > > > Signed-off-by: Oleg Nesterov > > Acked-by: Steve Grubb > > Acked-by: Eric Paris > > Richard, please pick this up into your tree. Ack. > > --- > > kernel/auditsc.c | 4 +++- > > 1 files changed, 3 insertions(+), 1 deletions(-) > > > > diff --git a/kernel/auditsc.c b/kernel/auditsc.c > > index 9845cb3..95293ab 100644 > > --- a/kernel/auditsc.c > > +++ b/kernel/auditsc.c > > @@ -943,8 +943,10 @@ int audit_alloc(struct task_struct *tsk) > > return 0; /* Return if not auditing. */ > > > > state = audit_filter_task(tsk, &key); > > - if (state == AUDIT_DISABLED) > > + if (state == AUDIT_DISABLED) { > > + clear_tsk_thread_flag(tsk, TIF_SYSCALL_AUDIT); > > return 0; > > + } > > > > if (!(context = audit_alloc_context(state))) { > > kfree(key); - RGB -- Richard Guy Briggs Senior Software Engineer Kernel Security AMER ENG Base Operating Systems Remote, Ottawa, Canada Voice: +1.647.777.2635 Internal: (81) 32635 Alt: +1.613.693.0684x3545