mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
In bnxt_qplib_alloc_res, it calls bnxt_qplib_alloc_dpi_tbl(). Inside
bnxt_qplib_alloc_dpi_tbl, dpit->dbr_bar_reg_iomem is freed via
pci_iounmap() in unmap_io error branch. After the callee returns err code,
bnxt_qplib_alloc_res calls
bnxt_qplib_free_res()->bnxt_qplib_free_dpi_tbl() in the fail branch. Then
dpit->dbr_bar_reg_iomem is freed in the second time by pci_iounmap().
My patch set dpit->dbr_bar_reg_iomem to NULL after it is freed by
pci_iounmap() in the first time, to avoid the double free.
Fixes:
|
||
|---|---|---|
| .. | ||
| bnxt_re.h | ||
| hw_counters.c | ||
| hw_counters.h | ||
| ib_verbs.c | ||
| ib_verbs.h | ||
| Kconfig | ||
| main.c | ||
| Makefile | ||
| qplib_fp.c | ||
| qplib_fp.h | ||
| qplib_rcfw.c | ||
| qplib_rcfw.h | ||
| qplib_res.c | ||
| qplib_res.h | ||
| qplib_sp.c | ||
| qplib_sp.h | ||
| roce_hsi.h | ||