34b39efa5a
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:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
bnxt_re.h | ||
hw_counters.c | ||
hw_counters.h | ||
ib_verbs.c | ||
ib_verbs.h | ||
main.c | ||
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 |