common/sfc_efx/base: fix the problem of using null pointer
Checks
Commit Message
From: HongBo Zheng <zhenghongbo3@huawei.com>
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>
---
drivers/common/sfc_efx/base/efx_pci.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
On 4/25/2021 1:58 PM, Min Hu (Connor) wrote:
> From: HongBo Zheng <zhenghongbo3@huawei.com>
>
> 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>
Applied to dpdk-next-net/main, thanks.
@@ -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.