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

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

 



Could this bugfix please be added to the Linux 6.6 LTS branch too?

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




[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