linux/net/sunrpc
Trond Myklebust 1e799b673c SUNRPC: Fix read ordering problems with req->rq_private_buf.len
We want to ensure that req->rq_private_buf.len is updated before
req->rq_received, so that call_decode() doesn't use an old value for
req->rq_rcv_buf.len.

In 'call_decode()' itself, instead of using task->tk_status (which is set
using req->rq_received) must use the actual value of
req->rq_private_buf.len when deciding whether or not the received RPC reply
is too short.

Finally ensure that we set req->rq_rcv_buf.len to zero when retrying a
request. A typo meant that we were resetting req->rq_private_buf.len in
call_decode(), and then clobbering that value with the old rq_rcv_buf.len
again in xprt_transmit().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-04-19 16:53:20 -04:00
..
auth_gss SUNRPC: Don't attempt to destroy expired RPCSEC_GSS credentials.. 2008-04-19 16:52:54 -04:00
xprtrdma SVCRDMA: Fix erroneous BUG_ON in send_write 2008-03-12 12:37:34 -07:00
auth_generic.c SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task 2008-03-14 13:42:41 -04:00
auth_null.c SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task 2008-03-14 13:42:41 -04:00
auth_unix.c SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task 2008-03-14 13:42:41 -04:00
auth.c SUNRPC: Add a helper rpcauth_lookup_generic_cred() 2008-03-14 13:42:49 -04:00
cache.c [SUNRPC]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:00:59 -08:00
clnt.c SUNRPC: Fix read ordering problems with req->rq_private_buf.len 2008-04-19 16:53:20 -04:00
Makefile SUNRPC: Add a generic RPC credential 2008-03-14 13:42:38 -04:00
rpc_pipe.c Introduce path_put() 2008-02-14 21:13:33 -08:00
rpcb_clnt.c SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs 2008-02-25 21:40:44 -08:00
sched.c SUNRPC: Clean up rpcauth_bindcred() 2008-03-14 13:42:35 -04:00
socklib.c SUNRPC: temp var should match return type of xdr_skb_read_actor 2008-01-30 02:05:43 -05:00
stats.c [SUNRPC]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:00:59 -08:00
sunrpc_syms.c SUNRPC: Move exported symbol definitions after function declaration part 2 2008-02-01 17:01:24 -05:00
svc_xprt.c SUNRPC: Move exported symbol definitions after function declaration part 2 2008-02-01 17:01:24 -05:00
svc.c SUNRPC: RPC program information is stored in unsigned integers 2008-02-01 17:01:31 -05:00
svcauth_unix.c SUNRPC: Move exported symbol definitions after function declaration part 2 2008-02-01 17:01:24 -05:00
svcauth.c SUNRPC: Move exported symbol definitions after function declaration part 2 2008-02-01 17:01:24 -05:00
svcsock.c Wrap buffers used for rpc debug printks into RPC_IFDEBUG 2008-02-21 18:42:29 -05:00
sysctl.c svc: Add /proc/sys/sunrpc/transport files 2008-02-01 16:42:13 -05:00
timer.c SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions 2007-10-09 17:17:36 -04:00
xdr.c SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace 2008-02-01 16:42:02 -05:00
xprt.c SUNRPC: Fix read ordering problems with req->rq_private_buf.len 2008-04-19 16:53:20 -04:00
xprtsock.c SUNRPC: Fix up xprt_write_space() 2008-04-19 16:52:44 -04:00