common/sfc_efx/base: fix dereferencing null pointer

In function efx_pci_xilinx_cap_tbl_find, pointer entry_offsetp is used
before null pointer check, which may cause access to null pointer.

This patch fix this problem.

Fixes: ba9568b8b4b7 ("common/sfc_efx/base: add Xilinx capabilities table lookup")
Cc: stable@dpdk.org

Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Hongbo Zheng 2021-04-25 20:58:16 +08:00 committed by Ferruh Yigit
parent fae9b062b0
commit 3de9af2aaa

View File

@ -310,7 +310,7 @@ efx_pci_xilinx_cap_tbl_find(
__in boolean_t skip_first,
__inout efsys_dma_addr_t *entry_offsetp)
{
efsys_dma_addr_t offset = *entry_offsetp;
efsys_dma_addr_t offset;
boolean_t skip = skip_first;
efx_qword_t header;
uint32_t format;
@ -322,6 +322,7 @@ efx_pci_xilinx_cap_tbl_find(
goto fail1;
}
offset = *entry_offsetp;
rc = ENOENT;
/*
* SF-119689-TC Riverhead Host Interface section 4.2.2.