Skip to content

Commit 38b2db5

Browse files
Dan Carpentermartinkpetersen
authored andcommitted
scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
The be_fill_queue() function can only fail when "eq_vaddress" is NULL and since it's non-NULL here that means the function call can't fail. But imagine if it could, then in that situation we would want to store the "paddr" so that dma memory can be released. Link: https://lore.kernel.org/r/20200928091300.GD377727@mwanda Fixes: bfead3b ("[SCSI] be2iscsi: Adding msix and mcc_rings V3") Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 66ab2fa commit 38b2db5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/scsi/be2iscsi/be_main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3020,6 +3020,7 @@ static int beiscsi_create_eqs(struct beiscsi_hba *phba,
30203020
goto create_eq_error;
30213021
}
30223022

3023+
mem->dma = paddr;
30233024
mem->va = eq_vaddress;
30243025
ret = be_fill_queue(eq, phba->params.num_eq_entries,
30253026
sizeof(struct be_eq_entry), eq_vaddress);
@@ -3029,7 +3030,6 @@ static int beiscsi_create_eqs(struct beiscsi_hba *phba,
30293030
goto create_eq_error;
30303031
}
30313032

3032-
mem->dma = paddr;
30333033
ret = beiscsi_cmd_eq_create(&phba->ctrl, eq,
30343034
BEISCSI_EQ_DELAY_DEF);
30353035
if (ret) {
@@ -3086,6 +3086,7 @@ static int beiscsi_create_cqs(struct beiscsi_hba *phba,
30863086
goto create_cq_error;
30873087
}
30883088

3089+
mem->dma = paddr;
30893090
ret = be_fill_queue(cq, phba->params.num_cq_entries,
30903091
sizeof(struct sol_cqe), cq_vaddress);
30913092
if (ret) {
@@ -3095,7 +3096,6 @@ static int beiscsi_create_cqs(struct beiscsi_hba *phba,
30953096
goto create_cq_error;
30963097
}
30973098

3098-
mem->dma = paddr;
30993099
ret = beiscsi_cmd_cq_create(&phba->ctrl, cq, eq, false,
31003100
false, 0);
31013101
if (ret) {

0 commit comments

Comments
 (0)