DragonFly kernel List (threaded) for 2009-08
DragonFly BSD
DragonFly kernel List (threaded) for 2009-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: access(2) using effective uid instead of real one?


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 11 Aug 2009 10:21:41 -0700 (PDT)

:It is admittedly easier and more explicit to do it as Alex and you suggest.
:
:To implement faccessat, which can check either real of effective ids
:based on a flag argument, do you prefer:
:
:1/ Pass this "effective vs real" flag to VOP_ACCESS (either in a_mode
:or as a new arg).
:
:2/ Adding a new VOP_FACCESSAT operation.
:
:The more general question is: can we break the VOP API (assuming we
:change all in-tree clients)?
:
:Cheers,
:Nicolas

    Definitely (1).  I'd say just pass the new flags straight through
    as a new argument to the base vop_access structure, but change the
    VOP_ACCESS macro in sys/vfsops.h:

#define VOP_ACCESS(vp, mode, cred)			\
        vop_access(*(vp)->v_ops, vp, mode, 0, cred)
#define VOP_ACCESS_FLAGS(vp, mode, flags, cred)		\
        vop_access(*(vp)->v_ops, vp, mode, flags, cred)

     Add a new flags element to struct vop_access_args and pass and
     initialize the new element in the vop_access() function in
     vfs_vopops.c

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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