Re: [PATCH] NFSD: Fix NFSv4's PUTPUBFH operation

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

 




> On Sep 19, 2024, at 5:50 AM, Cedric Blancher <cedric.blancher@xxxxxxxxx> wrote:
> 
> Could this bugfix please be added to the Linux 6.6 LTS branch too?

Once I submit the pull request for v6.12, the stable folks should
see this patch has a Fixes: tag and pull it into all the LTS trees.

I'll try to remember to check on it once the v6.12 merge window
closes.


> Ced
> 
> On Sun, 11 Aug 2024 at 19:26, <cel@xxxxxxxxxx> wrote:
>> 
>> From: Chuck Lever <chuck.lever@xxxxxxxxxx>
>> 
>> According to RFC 8881, all minor versions of NFSv4 support PUTPUBFH.
>> 
>> Replace the XDR decoder for PUTPUBFH with a "noop" since we no
>> longer want the minorversion check, and PUTPUBFH has no arguments to
>> decode. (Ideally nfsd4_decode_noop should really be called
>> nfsd4_decode_void).
>> 
>> PUTPUBFH should now behave just like PUTROOTFH.
>> 
>> Reported-by: Cedric Blancher <cedric.blancher@xxxxxxxxx>
>> Fixes: e1a90ebd8b23 ("NFSD: Combine decode operations for v4 and v4.1")
>> Cc: Dan Shelton <dan.f.shelton@xxxxxxxxx>
>> Cc: Roland Mainz <roland.mainz@xxxxxxxxxxx>
>> Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
>> ---
>> fs/nfsd/nfs4xdr.c | 10 +---------
>> 1 file changed, 1 insertion(+), 9 deletions(-)
>> 
>> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
>> index 42b41d55d4ed..adfafe48b947 100644
>> --- a/fs/nfsd/nfs4xdr.c
>> +++ b/fs/nfsd/nfs4xdr.c
>> @@ -1245,14 +1245,6 @@ nfsd4_decode_putfh(struct nfsd4_compoundargs *argp, union nfsd4_op_u *u)
>>        return nfs_ok;
>> }
>> 
>> -static __be32
>> -nfsd4_decode_putpubfh(struct nfsd4_compoundargs *argp, union nfsd4_op_u *p)
>> -{
>> -       if (argp->minorversion == 0)
>> -               return nfs_ok;
>> -       return nfserr_notsupp;
>> -}
>> -
>> static __be32
>> nfsd4_decode_read(struct nfsd4_compoundargs *argp, union nfsd4_op_u *u)
>> {
>> @@ -2374,7 +2366,7 @@ static const nfsd4_dec nfsd4_dec_ops[] = {
>>        [OP_OPEN_CONFIRM]       = nfsd4_decode_open_confirm,
>>        [OP_OPEN_DOWNGRADE]     = nfsd4_decode_open_downgrade,
>>        [OP_PUTFH]              = nfsd4_decode_putfh,
>> -       [OP_PUTPUBFH]           = nfsd4_decode_putpubfh,
>> +       [OP_PUTPUBFH]           = nfsd4_decode_noop,
>>        [OP_PUTROOTFH]          = nfsd4_decode_noop,
>>        [OP_READ]               = nfsd4_decode_read,
>>        [OP_READDIR]            = nfsd4_decode_readdir,
>> --
>> 2.45.2
>> 
> 
> 
> -- 
> Cedric Blancher <cedric.blancher@xxxxxxxxx>
> [https://plus.google.com/u/0/+CedricBlancher/]
> Institute Pasteur

--
Chuck Lever






[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux