mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 07:10:27 +00:00
IB/rxe: double free on error
"goto err;" has it's own kfree_skb() call so it's a double free. We only need to free on the "goto exit;" path. Fixes: 8700e3e7c485 ("Soft RoCE driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
b172679b0d
commit
ded2602353
@ -729,11 +729,11 @@ next_wqe:
|
|||||||
ret = rxe_xmit_packet(to_rdev(qp->ibqp.device), qp, &pkt, skb);
|
ret = rxe_xmit_packet(to_rdev(qp->ibqp.device), qp, &pkt, skb);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
qp->need_req_skb = 1;
|
qp->need_req_skb = 1;
|
||||||
kfree_skb(skb);
|
|
||||||
|
|
||||||
rollback_state(wqe, qp, &rollback_wqe, rollback_psn);
|
rollback_state(wqe, qp, &rollback_wqe, rollback_psn);
|
||||||
|
|
||||||
if (ret == -EAGAIN) {
|
if (ret == -EAGAIN) {
|
||||||
|
kfree_skb(skb);
|
||||||
rxe_run_task(&qp->req.task, 1);
|
rxe_run_task(&qp->req.task, 1);
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user