[PATCH 1/1] Added exe field to audit core dump signal log
Steve Grubb
sgrubb at redhat.com
Wed Jul 8 20:58:57 UTC 2015
On Wednesday, July 08, 2015 04:50:27 PM Paul Moore wrote:
> On Wednesday, July 08, 2015 04:28:06 PM Steve Grubb wrote:
> > Hello Paul Moore,
> >
> > Looks like this patch never got picked up. I think we should apply it.
>
> Thanks for finding this; did you run into this problem?
I was going through old email trying to clear my backlog and saw this
one marked for follow up at some point.
> Since this was posted back in 2013 it would be nice if someone could do a
> quick sanity test to show that 1) the problem still exists on current
> kernels and
This is the function in question:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/auditsc.c?id=refs/tags/v4.2-rc1#n2357
Actually, I missed the call to audit_log_d_path_exe() because I was looking
for exe= in the logging string ...so its already fixed.
Sorry for the noise. :-)
-Steve
> 2) the patch below fixes it. You get extra credit if you show
> your work.
>
> The reproducer should be trivial; I'm just dealing with some other issues
> these next few days.
>
> > On Thursday, November 14, 2013 08:56:57 AM Paul Davies C wrote:
> > > Currently when the coredump signals are logged by the audit system , the
> > > actual path to the executable is not logged. Without details of exe ,
> > > the
> > > system admin may not have an exact idea on what program failed.
> > >
> > > This patch changes the audit_log_task() so that the path to the exe is
> > > also
> > > logged.
> > >
> > > Signed-off-by: Paul Davies C <pauldaviesc at gmail.com>
> > > ---
> > >
> > > kernel/auditsc.c | 7 +++++++
> > > 1 file changed, 7 insertions(+)
> > >
> > > diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> > > index 9845cb3..988de72 100644
> > > --- a/kernel/auditsc.c
> > > +++ b/kernel/auditsc.c
> > > @@ -2353,6 +2353,7 @@ static void audit_log_task(struct audit_buffer
> > > *ab)
> > >
> > > kuid_t auid, uid;
> > > kgid_t gid;
> > > unsigned int sessionid;
> > >
> > > + struct mm_struct *mm = current->mm;
> > >
> > > auid = audit_get_loginuid(current);
> > > sessionid = audit_get_sessionid(current);
> > >
> > > @@ -2366,6 +2367,12 @@ static void audit_log_task(struct audit_buffer
> > > *ab)
> > >
> > > audit_log_task_context(ab);
> > > audit_log_format(ab, " pid=%d comm=", current->pid);
> > > audit_log_untrustedstring(ab, current->comm);
> > >
> > > + if (mm) {
> > > + down_read(&mm->mmap_sem);
> > > + if (mm->exe_file)
> > > + audit_log_d_path(ab, " exe=", &mm->exe_file->f_path);
> > > + up_read(&mm->mmap_sem);
> > > + }
> > >
> > > }
> > >
> > > static void audit_log_abend(struct audit_buffer *ab, char *reason, long
> > >
> > > signr)
More information about the Linux-audit
mailing list