mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-25 12:00:22 +09:00
ibmvnic: Unmap DMA login rsp buffer on send login fail
commit411c565b4bupstream. If the LOGIN CRQ fails to send then we must DMA unmap the response buffer. Previously, if the CRQ failed then the memory was freed without DMA unmapping. Fixes:c98d9cc417("ibmvnic: send_login should check for crq errors") Signed-off-by: Nick Child <nnac123@linux.ibm.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/20230809221038.51296-2-nnac123@linux.ibm.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
cee62753cf
commit
34fcc82382
@@ -4220,11 +4220,14 @@ static int send_login(struct ibmvnic_adapter *adapter)
|
||||
if (rc) {
|
||||
adapter->login_pending = false;
|
||||
netdev_err(adapter->netdev, "Failed to send login, rc=%d\n", rc);
|
||||
goto buf_rsp_map_failed;
|
||||
goto buf_send_failed;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
buf_send_failed:
|
||||
dma_unmap_single(dev, rsp_buffer_token, rsp_buffer_size,
|
||||
DMA_FROM_DEVICE);
|
||||
buf_rsp_map_failed:
|
||||
kfree(login_rsp_buffer);
|
||||
adapter->login_rsp_buf = NULL;
|
||||
|
||||
Reference in New Issue
Block a user