Skip to content

Commit

Permalink
9p: cope with bogus responses from server in p9_client_{read,write}
Browse files Browse the repository at this point in the history
if server claims to have written/read more than we'd told it to,
warn and cap the claimed byte count to avoid advancing more than
we are ready to.
  • Loading branch information
Al Viro committed Jul 4, 2015
1 parent 67e808f commit 0f1db7d
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions net/9p/client.c
Expand Up @@ -1583,6 +1583,10 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
p9_free_req(clnt, req);
break;
}
if (rsize < count) {
pr_err("bogus RREAD count (%d > %d)\n", count, rsize);
count = rsize;
}

p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", count);
if (!count) {
Expand Down Expand Up @@ -1650,6 +1654,10 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
p9_free_req(clnt, req);
break;
}
if (rsize < count) {
pr_err("bogus RWRITE count (%d > %d)\n", count, rsize);
count = rsize;
}

p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", count);

Expand Down

0 comments on commit 0f1db7d

Please sign in to comment.