Re: [PATCH] audit: clear thread flag for new children

Tony Jones
2007-11-01T17:25:23Z

On Thu, Nov 01, 2007 at 10:33:52AM -0400, Steve Grubb wrote:
> On Monday 29 October 2007 07:15:30 pm Tony Jones wrote:
> > On Mon, Oct 29, 2007 at 06:04:31PM -0400, Steve Grubb wrote:
> > > So when audit is re-enabled, how do you make that task auditable?
> >
> > No idea. How do you do it currently? HINT: current->audit_context == NULL
> > for these tasks. If !audit_enabled, then audit_alloc() is not going to
> > allocate an audit_context for the task.
>
> We are looking into this - at one time it did. Someone should follow up with
> a path correcting this soon. But I doubt the audit system will work correctly
> if the flag gets removed as there is no good way to add it again later.

So on the syscall path you're now going to something like (pseudocode):
if (unlikely(current->audit_context)) {audit_syscall_entry()}
else if (audit_enabled) {audit_alloc(); audit_syscall_entry()}

I agree, if this is what you want to do, then clearing the thread flag would
be a bad idea. I'd assumed the current behaviour was by design as allocating
contexts at syscall time doesn't seem a great idea but if you need the
functionality, you need the functionality.

Tony