[PATCH V10] fixup: audit: implement audit by executable

Richard Guy Briggs rgb at redhat.com
Wed Aug 12 09:48:48 UTC 2015


On 15/08/11, Richard Guy Briggs wrote:
> On 15/08/10, Paul Moore wrote:
> > On Monday, August 10, 2015 01:29:43 PM Richard Guy Briggs wrote:
> > > On 15/08/10, Paul Moore wrote:
> > > > On Saturday, August 08, 2015 10:20:25 AM Richard Guy Briggs wrote:
> > > > > diff --git a/kernel/audit_watch.c b/kernel/audit_watch.c
> > > > > index 1255dbf..656c7e9 100644
> > > > > --- a/kernel/audit_watch.c
> > > > > +++ b/kernel/audit_watch.c
> > > > > @@ -540,8 +540,14 @@ int audit_dupe_exe(struct audit_krule *new, struct
> > > > > audit_krule *old)
> > > > > 
> > > > >  int audit_exe_compare(struct task_struct *tsk, struct
> > > > >  audit_fsnotify_mark
> > > > > 
> > > > > *mark) {
> > > > > -	unsigned long ino = tsk->mm->exe_file->f_inode->i_ino;
> > > > > -	dev_t dev = tsk->mm->exe_file->f_inode->i_sb->s_dev;
> > > > > -
> > > > > +	struct file *exe_file;
> > > > > +	unsigned long ino;
> > > > > +	dev_t dev;
> > > > > +
> > > > > +	rcu_read_lock();
> > > > > +	exe_file = rcu_dereference(tsk->mm->exe_file);
> > > > 
> > > > This line is triggering a sparse error on my system:
> > > >  # make C=1 M=kernel
> > > >  ...
> > > >  
> > > >    CHECK   kernel/audit_watch.c
> > > >  
> > > >  kernel/audit_watch.c:548:20: error: incompatible types in comparison
> > > >  expression (different address spaces)
> > > 
> > > That's odd.  I got this complaint when I had forgotten to add the
> > > rcu_dereference() call, but not in its current state.  Mind you, I get
> > > swamped with errors and warnings from all over the system (starting with
> > > ptrace.c, signal.c, exit.c, fork.c, audit.c, ftrace.c,
> > > selinux/netnode.c, ...) when I add
> > > "M=kernel" to my build command, so I start to wonder how valid that
> > > result is or that flag.  Where is M=kernel documented?
> > 
> > I don't remember anymore, it's something I've been using so long that I've 
> > forgotten where I first learned of it.  The "M=<X>" flag signals that you only 
> > want to build a specific module/directory, e.g. M=kernel builds everything 
> > under kernel/ whereas M=security/selinux builds everything under 
> > security/selinux.
> > 
> > So you don't see this error?
> 
> No, I don't, but I see a number of unrelated ones that I will address in time...

Do you plan to push this fix to next?

> > paul moore
> 
> - RGB

- RGB

--
Richard Guy Briggs <rbriggs at redhat.com>
Senior Software Engineer, Kernel Security, AMER ENG Base Operating Systems, Red Hat
Remote, Ottawa, Canada
Voice: +1.647.777.2635, Internal: (81) 32635, Alt: +1.613.693.0684x3545




More information about the Linux-audit mailing list