Re: [RFC][PATCH 3/6] SLIM main patch

Dave Hansen
2006-07-14T18:28:51Z

On Fri, 2006-07-14 at 11:06 -0700, Kylene Jo Hall wrote:
> Thanks it will be fixed in the next revision.
>
> On Fri, 2006-07-14 at 10:44 -0700, Dave Hansen wrote:
> > On Fri, 2006-07-14 at 10:24 -0700, Kylene Jo Hall wrote:
> > > +static void revoke_mmap_wperm(struct slm_file_xattr *cur_level)
> > > +{
> > > + struct vm_area_struct *mpnt;
> > > + struct file *file;
> > > + struct dentry *dentry;
> > > + struct slm_isec_data *isec;
> > > +
> > > + flush_cache_mm(current->mm);
> > > +
> > > + for (mpnt = current->mm->mmap; mpnt; mpnt = mpnt->vm_next) {
> > > + file = mpnt->vm_file;
> > > + if (!file)
> > > + continue;
> >
> > You need to hold the mmap_sem for read while walking this list.

It gets a _bit_ sticky because mprotect() wants it as well. And, if you
decide to drop the lock to make that call the vmas can go out from
underneath you. Be careful.

-- Dave