From: "J. Bruce Fields" <bfields@fieldses.org>
To: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfsd41: nfsd4_decode_compound() does not recognize all ops
Date: Thu, 17 Dec 2009 10:54:03 -0500 [thread overview]
Message-ID: <20091217155403.GA15866@fieldses.org> (raw)
In-Reply-To: <1260587449-29538-2-git-send-email-Ricardo.Labiaga@netapp.com>
On Fri, Dec 11, 2009 at 07:10:49PM -0800, Ricardo Labiaga wrote:
> The server incorrectly assumes that the operations in the
> array start with value 0. The first operation (OP_ACCESS)
> has a value of 3, causing the check in nfsd4_decode_compound
> to be off.
>
> Instead of comparing that the operation number is less than
> the number of elements in the array, the server should verify
> that it is less than the maximum valid operation number
> defined by LAST_NFS4_OP.
Thanks. So the effect of this was to return an OP_ILLEGAL in some cases
where we should have been returning a NOTSUPP error?
--b.
>
> Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
> ---
> fs/nfsd/nfs4xdr.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> index 0fbd50c..b83a24c 100644
> --- a/fs/nfsd/nfs4xdr.c
> +++ b/fs/nfsd/nfs4xdr.c
> @@ -1442,7 +1442,7 @@ nfsd4_decode_compound(struct nfsd4_compoundargs *argp)
> }
> op->opnum = ntohl(*argp->p++);
>
> - if (op->opnum >= OP_ACCESS && op->opnum < ops->nops)
> + if (op->opnum >= OP_ACCESS && op->opnum <= LAST_NFS4_OP)
> op->status = ops->decoders[op->opnum](argp, &op->u);
> else {
> op->opnum = OP_ILLEGAL;
> --
> 1.5.4.3
>
next prev parent reply other threads:[~2009-12-17 15:53 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-12 3:10 [PATCH] nfsd41: Create the recovery entry for the NFSv4.1 client Ricardo Labiaga
2009-12-12 3:10 ` [PATCH] nfsd41: nfsd4_decode_compound() does not recognize all ops Ricardo Labiaga
2009-12-17 15:54 ` J. Bruce Fields [this message]
2009-12-17 16:39 ` [PATCH] nfsd41: nfsd4_decode_compound() does not recognize allops Labiaga, Ricardo
2010-01-14 17:26 ` [PATCH] nfsd41: Create the recovery entry for the NFSv4.1 client J. Bruce Fields
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091217155403.GA15866@fieldses.org \
--to=bfields@fieldses.org \
--cc=Ricardo.Labiaga@netapp.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.