Re: [PATCH v13 04/19] nfsd: factor out __fh_verify to allow NULL rqstp to be passed

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

 



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





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux