mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-01 15:49:14 +07:00
9P/RDMA: Protect against duplicate replies
A well-behaved server would not send twice the reply to a request. But if it ever happens... This additional check prevents the kernel from leaking memory and possibly more nasty consequences in that unlikely event. Signed-off-by: Simon Derr <simon.derr@bull.net> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
parent
3fcc62f4e8
commit
47229ff85e
@ -294,6 +294,13 @@ handle_recv(struct p9_client *client, struct p9_trans_rdma *rdma,
|
|||||||
if (!req)
|
if (!req)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
|
||||||
|
/* Check that we have not yet received a reply for this request.
|
||||||
|
*/
|
||||||
|
if (unlikely(req->rc)) {
|
||||||
|
pr_err("Duplicate reply for request %d", tag);
|
||||||
|
goto err_out;
|
||||||
|
}
|
||||||
|
|
||||||
req->rc = c->rc;
|
req->rc = c->rc;
|
||||||
req->status = REQ_STATUS_RCVD;
|
req->status = REQ_STATUS_RCVD;
|
||||||
p9_client_cb(client, req);
|
p9_client_cb(client, req);
|
||||||
|
Loading…
Reference in New Issue
Block a user