mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 17:23:36 +00:00
NFSD: Fix NFSv4's PUTPUBFH operation
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@gmail.com>
Fixes: e1a90ebd8b
("NFSD: Combine decode operations for v4 and v4.1")
Cc: Dan Shelton <dan.f.shelton@gmail.com>
Cc: Roland Mainz <roland.mainz@nrubsig.org>
Cc: stable@vger.kernel.org
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
32b34fa485
commit
202f39039a
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user