On Mon, 26 Aug 2024, Chuck Lever wrote: > On Fri, Aug 23, 2024 at 02:14:02PM -0400, Mike Snitzer wrote: > > + exp = rqst_exp_find(rqstp ? &rqstp->rq_chandle : NULL, > > + net, client, gssclient, > > fh->fh_fsid_type, fh->fh_fsid); > > Question: Would rqst_exp_find() be the function that would prevent > a LOCALIO open to a file handle where the client's IP address is not > listed on the export? Yes. > > I don't really see how IP address-related export access control is > being enforced, but it's possible I'm missing something. The "client" is key. The LOCALIO RPC protocol allows the server to determine a "client" which matches the network connection. It passes this to the client code which uses it for future authentication. > See comment on 5/N: since that patch makes this a public API again, > consider not removing this kdoc comment but rather updating it. What exactly do you consider to be a "public API"?? Anything without "static"? That seems somewhat arbitrary. I think of __fh_verify() as a private API used by fh_verify() and nfsd_file_acquire_local() and nothing else. It seems pointless duplication the documentation for __fh_verify() and fh_verify(). Maybe one could refer to the other "fh_verify is like fh_verify except ....." ?? > > > > -__be32 > > -fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type, int access) > > +static __be32 > > +__fh_verify(struct svc_rqst *rqstp, Thanks, NeilBrown