|
@@ -1583,6 +1583,10 @@ p9_client_read(struct p9_fid *fid, u64 offset, struct iov_iter *to, int *err)
|
|
|
p9_free_req(clnt, req);
|
|
p9_free_req(clnt, req);
|
|
|
break;
|
|
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);
|
|
p9_debug(P9_DEBUG_9P, "<<< RREAD count %d\n", count);
|
|
|
if (!count) {
|
|
if (!count) {
|
|
@@ -1650,6 +1654,10 @@ p9_client_write(struct p9_fid *fid, u64 offset, struct iov_iter *from, int *err)
|
|
|
p9_free_req(clnt, req);
|
|
p9_free_req(clnt, req);
|
|
|
break;
|
|
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);
|
|
p9_debug(P9_DEBUG_9P, "<<< RWRITE count %d\n", count);
|
|
|
|
|
|