nfsd41: nfsd4_decode_compound() does not recognize all ops
authorRicardo Labiaga <Ricardo.Labiaga@netapp.com>
Sat, 12 Dec 2009 03:10:49 +0000 (19:10 -0800)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Wed, 13 Jan 2010 14:42:26 +0000 (09:42 -0500)
commitc551866e649bac66a5145d100f34086d6edb581e
treeff6362dc3d14841575a42d30fb605a178793dcb1
parent7284ce6c9f6153d1777df5f310c959724d1bd446
nfsd41: nfsd4_decode_compound() does not recognize all ops

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.

Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4xdr.c