]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
nfsd: fix endianness breakage in TEST_STATEID handling
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 13 Apr 2012 04:10:34 +0000 (00:10 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Apr 2012 17:16:52 +0000 (10:16 -0700)
commit 02f5fde5df0ea930e70f93763dd48beff182b208 upstream.

->ts_id_status gets nfs errno, i.e. it's already big-endian; no need
to apply htonl() to it.  Broken by commit 174568 (NFSD: Added TEST_STATEID
operation) last year...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfs4xdr.c

index 0ec5a1b9700e5e8d59196cfa387f608aa5c7f0ce..274dbd1839672adfac49fff4baaef924d1966c5d 100644 (file)
@@ -3410,7 +3410,7 @@ nfsd4_encode_test_stateid(struct nfsd4_compoundres *resp, int nfserr,
                nfsd4_decode_stateid(argp, &si);
                valid = nfs4_validate_stateid(cl, &si);
                RESERVE_SPACE(4);
-               *p++ = htonl(valid);
+               *p++ = valid;
                resp->p = p;
        }
        nfs4_unlock_state();