diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-07-18 03:22:38 +0200 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-07-18 20:43:52 +0200 |
commit | 75369089820473eac45e9ddd970081901a373c08 (patch) | |
tree | 348fdb310218b444e10e0d88ebfef28c2e9242a0 /net/sunrpc/xprtsock.c | |
parent | pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error (diff) | |
download | linux-75369089820473eac45e9ddd970081901a373c08.tar.xz linux-75369089820473eac45e9ddd970081901a373c08.zip |
SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request
The bvec tracks the list of pages, so if the number of pages changes
due to a re-encode, we need to reset the bvec as well.
Fixes: 277e4ab7d530 ("SUNRPC: Simplify TCP receive code by switching...")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: stable@vger.kernel.org # v4.20+
Diffstat (limited to '')
-rw-r--r-- | net/sunrpc/xprtsock.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 6b1fca51028a..e2176c167a57 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -909,6 +909,7 @@ static int xs_nospace(struct rpc_rqst *req) static void xs_stream_prepare_request(struct rpc_rqst *req) { + xdr_free_bvec(&req->rq_rcv_buf); req->rq_task->tk_status = xdr_alloc_bvec(&req->rq_rcv_buf, GFP_KERNEL); } |