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

From: Dave Hansen
Date: Fri Jul 14 2006 - 14:27:06 EST


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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/