OSDN Git Service
(root)
/
android-x86
/
kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5a993e5
)
scsi: bnx2i: fix potential use after free
author
Pan Bian
<bianpan2016@163.com>
Wed, 6 Nov 2019 12:32:21 +0000
(20:32 +0800)
committer
Martin K. Petersen
<martin.petersen@oracle.com>
Wed, 20 Nov 2019 02:37:34 +0000
(21:37 -0500)
The member hba->pcidev may be used after its reference is dropped. Move the
put function to where it is never used to avoid potential use after free
issues.
Fixes:
a77171806515
("[SCSI] bnx2i: Removed the reference to the netdev->base_addr")
Link:
https://lore.kernel.org/r/1573043541-19126-1-git-send-email-bianpan2016@163.com
Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/bnx2i/bnx2i_iscsi.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/bnx2i/bnx2i_iscsi.c
b/drivers/scsi/bnx2i/bnx2i_iscsi.c
index
c5fa5f3
..
0b28d44
100644
(file)
--- a/
drivers/scsi/bnx2i/bnx2i_iscsi.c
+++ b/
drivers/scsi/bnx2i/bnx2i_iscsi.c
@@
-915,12
+915,12
@@
void bnx2i_free_hba(struct bnx2i_hba *hba)
INIT_LIST_HEAD(&hba->ep_ofld_list);
INIT_LIST_HEAD(&hba->ep_active_list);
INIT_LIST_HEAD(&hba->ep_destroy_list);
- pci_dev_put(hba->pcidev);
if (hba->regview) {
pci_iounmap(hba->pcidev, hba->regview);
hba->regview = NULL;
}
+ pci_dev_put(hba->pcidev);
bnx2i_free_mp_bdt(hba);
bnx2i_release_free_cid_que(hba);
iscsi_host_free(shost);