IB/mad: Fix memory leak in switch handling in ib_mad_recv_done_handler()
If agent_send_response() returns an error, we shouldn't do anything differently than if it succeeds; setting response to NULL just means that the response buffer gets leaked. Signed-off-by: Suresh Shelvapille <suri@baymicrosystems.com> Signed-off-by: Hal Rosenstock <hal.rosenstock@gmail.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
445d68070c
commit
86dfbecdea
@ -1916,12 +1916,11 @@ static void ib_mad_recv_done_handler(struct ib_mad_port_private *port_priv,
|
|||||||
response->header.recv_wc.recv_buf.mad = &response->mad.mad;
|
response->header.recv_wc.recv_buf.mad = &response->mad.mad;
|
||||||
response->header.recv_wc.recv_buf.grh = &response->grh;
|
response->header.recv_wc.recv_buf.grh = &response->grh;
|
||||||
|
|
||||||
if (!agent_send_response(&response->mad.mad,
|
agent_send_response(&response->mad.mad,
|
||||||
&response->grh, wc,
|
&response->grh, wc,
|
||||||
port_priv->device,
|
port_priv->device,
|
||||||
smi_get_fwd_port(&recv->mad.smp),
|
smi_get_fwd_port(&recv->mad.smp),
|
||||||
qp_info->qp->qp_num))
|
qp_info->qp->qp_num);
|
||||||
response = NULL;
|
|
||||||
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user