Re: [PATCH 0/4] pidfs: implement file handle support
From: Chuck Lever III
Date: Wed Nov 13 2024 - 09:42:40 EST
> On Nov 13, 2024, at 8:29 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>
> On Wed, 2024-11-13 at 11:17 +0100, Erin Shepherd wrote:
>> On 13/11/2024 01:40, Darrick J. Wong wrote:
>>>> Hmm, I guess I might have made that possible, though I'm certainly not
>>>> familiar enough with the internals of nfsd to be able to test if I've done
>>>> so.
>>> AFAIK check_export() in fs/nfsd/export.c spells this it out:
>>>
>>> /* There are two requirements on a filesystem to be exportable.
>>> * 1: We must be able to identify the filesystem from a number.
>>> * either a device number (so FS_REQUIRES_DEV needed)
>>> * or an FSID number (so NFSEXP_FSID or ->uuid is needed).
>>> * 2: We must be able to find an inode from a filehandle.
>>> * This means that s_export_op must be set.
>>> * 3: We must not currently be on an idmapped mount.
>>> */
>>>
>>> Granted I've been wrong on account of stale docs before. :$
>>>
>>> Though it would be kinda funny if you *could* mess with another
>>> machine's processes over NFS.
>>>
>>> --D
>>
>> To be clear I'm not familiar enough with the workings of nfsd to tell if
>> pidfs fails those requirements and therefore wouldn't become exportable as
>> a result of this patch, though I gather from you're message that we're in the
>> clear?
>>
>> Regardless I think my question is: do we think either those requirements could
>> change in the future, or the properties of pidfs could change in the future,
>> in ways that could accidentally make the filesystem exportable?
>>
>> I guess though that the same concern would apply to cgroupfs and it hasn't posed
>> an issue so far.
>
> We have other filesystems that do this sort of thing (like cgroupfs),
> and we don't allow them to be exportable. We'll need to make sure that
> that's the case before we merge this, of course, as I forget the
> details of how that works.
It's far easier to add exportability later than it is
to remove it if we think it was a mistake. I would err
on the side of caution if there isn't an immediate
need/use-case for exposure via NFS.
--
Chuck Lever