summaryrefslogtreecommitdiffstats
path: root/net/9p/client.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2015-07-04 22:11:05 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2015-07-04 22:11:05 +0200
commit67e808fbb0404a12d9b9830a44bbb48d447d8bc9 (patch)
treeba061dc5e051f976b233666a070ad2d493538112 /net/9p/client.c
parent9p: forgetting to cancel request on interrupted zero-copy RPC (diff)
downloadlinux-67e808fbb0404a12d9b9830a44bbb48d447d8bc9.tar.xz
linux-67e808fbb0404a12d9b9830a44bbb48d447d8bc9.zip
p9_client_write(): avoid double p9_free_req()
Braino in "9p: switch p9_client_write() to passing it struct iov_iter *"; if response is impossible to parse and we discard the request, get the out of the loop right there. Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/9p/client.c')
-rw-r--r--net/9p/client.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/9p/client.c b/net/9p/client.c
index 28f36e4556f9..81925b923318 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -1648,6 +1648,7 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
if (*err) {
trace_9p_protocol_dump(clnt, req->rc);
p9_free_req(clnt, req);
+ break;
}
p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", count);