tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ACL patch



On Sun, May 10, 2020 at 09:48:10AM -0400, Christos Zoulas wrote:
> 
> > Maybe I missed it but I didn't see a way for cache_lookup_linked() and
> > cache_have_id() to know a vnode has ACLs.  The presence of ACLs means those
> > routines can't do their imitation of VOP_ACCESS() and need to fail so that
> > the lookup is handled by VOP_LOOKUP().  To handle that on a per-vnode basis
> > you'd want to flag the "has ACLs" fact when an inode is loaded, and do the
> > same when an ACL is added to an in-core inode.  I'll look into it over the
> > next few days unless you want to take care of it.
> 
> So I looked into this a bit and genfs_can_access() is also used by  cache_revlookup.
> I am not sure what to do here. It is simple enough to add a flag to the vnode to indicate
> if it has ACLs, but is it the right thing to do?

I tried to pull down your patch again over the weekend to take a look but it
was gone.  The best place for a flag would be cache_enter_id() since it
deals with the necessary synchronisation.  I'll see about adding a flag now.
In addition to the places it's called now it would need to be called
whenever an inode gains an ACL.

Andrew


Home | Main Index | Thread Index | Old Index