diff options
| author | Benny Halevy <bhalevy@panasas.com> | 2011-02-22 17:43:22 -0500 |
|---|---|---|
| committer | J. Bruce Fields <bfields@redhat.com> | 2011-02-22 18:55:09 -0500 |
| commit | 2c9c8f36c34e1defcaa7e4c298651998b47f5282 (patch) | |
| tree | 47c48d0db92ea600163b3dfee52f3a0c48e47234 | |
| parent | 47c85291d3dd1a51501555000b90f8e281a0458e (diff) | |
NFSD: fix decode_cb_sequence4resok
Fix bug introduced in patch
85a56480 NFSD: Update XDR decoders in NFSv4 callback client
Although decode_cb_sequence4resok ignores highest slotid and target highest slotid
it must account for their space in their xdr stream when calling xdr_inline_decode
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
| -rw-r--r-- | fs/nfsd/nfs4callback.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c index cde36cb0f348..02eb4edf0ece 100644 --- a/fs/nfsd/nfs4callback.c +++ b/fs/nfsd/nfs4callback.c | |||
| @@ -432,7 +432,7 @@ static int decode_cb_sequence4resok(struct xdr_stream *xdr, | |||
| 432 | * If the server returns different values for sessionID, slotID or | 432 | * If the server returns different values for sessionID, slotID or |
| 433 | * sequence number, the server is looney tunes. | 433 | * sequence number, the server is looney tunes. |
| 434 | */ | 434 | */ |
| 435 | p = xdr_inline_decode(xdr, NFS4_MAX_SESSIONID_LEN + 4 + 4); | 435 | p = xdr_inline_decode(xdr, NFS4_MAX_SESSIONID_LEN + 4 + 4 + 4 + 4); |
| 436 | if (unlikely(p == NULL)) | 436 | if (unlikely(p == NULL)) |
| 437 | goto out_overflow; | 437 | goto out_overflow; |
| 438 | memcpy(id.data, p, NFS4_MAX_SESSIONID_LEN); | 438 | memcpy(id.data, p, NFS4_MAX_SESSIONID_LEN); |
