@@ -363,6 +363,7 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
363363 struct rxrpc_call * rxcall ;
364364 struct msghdr msg ;
365365 struct kvec iov [1 ];
366+ size_t len ;
366367 s64 tx_total_len ;
367368 int ret ;
368369
@@ -466,9 +467,10 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
466467 rxrpc_kernel_abort_call (call -> net -> socket , rxcall ,
467468 RX_USER_ABORT , ret , "KSD" );
468469 } else {
470+ len = 0 ;
469471 iov_iter_kvec (& msg .msg_iter , READ , NULL , 0 , 0 );
470472 rxrpc_kernel_recv_data (call -> net -> socket , rxcall ,
471- & msg .msg_iter , false,
473+ & msg .msg_iter , & len , false,
472474 & call -> abort_code , & call -> service_id );
473475 ac -> abort_code = call -> abort_code ;
474476 ac -> responded = true;
@@ -504,6 +506,7 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
504506static void afs_deliver_to_call (struct afs_call * call )
505507{
506508 enum afs_call_state state ;
509+ size_t len ;
507510 u32 abort_code , remote_abort = 0 ;
508511 int ret ;
509512
@@ -516,10 +519,11 @@ static void afs_deliver_to_call(struct afs_call *call)
516519 state == AFS_CALL_SV_AWAIT_ACK
517520 ) {
518521 if (state == AFS_CALL_SV_AWAIT_ACK ) {
522+ len = 0 ;
519523 iov_iter_kvec (& call -> def_iter , READ , NULL , 0 , 0 );
520524 ret = rxrpc_kernel_recv_data (call -> net -> socket ,
521525 call -> rxcall , & call -> def_iter ,
522- false, & remote_abort ,
526+ & len , false, & remote_abort ,
523527 & call -> service_id );
524528 trace_afs_receive_data (call , & call -> def_iter , false, ret );
525529
@@ -929,10 +933,11 @@ int afs_extract_data(struct afs_call *call, bool want_more)
929933 u32 remote_abort = 0 ;
930934 int ret ;
931935
932- _enter ("{%s,%zu},%d" , call -> type -> name , iov_iter_count (iter ), want_more );
936+ _enter ("{%s,%zu,%zu},%d" ,
937+ call -> type -> name , call -> iov_len , iov_iter_count (iter ), want_more );
933938
934939 ret = rxrpc_kernel_recv_data (net -> socket , call -> rxcall , iter ,
935- want_more , & remote_abort ,
940+ & call -> iov_len , want_more , & remote_abort ,
936941 & call -> service_id );
937942 if (ret == 0 || ret == - EAGAIN )
938943 return ret ;
0 commit comments