> -----Original Message-----
> From: dev <dev-boun...@dpdk.org> On Behalf Of Wei Huang
> Sent: 2020年11月5日 9:49
> To: dev@dpdk.org; Xu, Rosen <rosen...@intel.com>; Zhang, Qi Z
> <qi.z.zh...@intel.com>
> Cc: sta...@dpdk.org; Huang, Wei <wei.hu...@intel.com>
> Subject: [dpdk-dev] [PATCH v1 2/2] raw/ifpga/base: check pointer adapter
> before derefence
>
> In opae_adapter_destroy(), pointer "adapter" is not validated before passing
> it to opae_adapter_shm_free() and opae_adapter_mutex_close() which
> derefence it.
>
> Fixes: e41856b515ce ("raw/ifpga/base: enhance driver reliability in
> multi-process") Coverity issue: 363752
>
> Signed-off-by: Wei Huang <wei.hu...@intel.com>
> ---
> drivers/raw/ifpga/base/opae_hw_api.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/raw/ifpga/base/opae_hw_api.c
> b/drivers/raw/ifpga/base/opae_hw_api.c
> index 600afdea1..d5cd5fe60 100644
> --- a/drivers/raw/ifpga/base/opae_hw_api.c
> +++ b/drivers/raw/ifpga/base/opae_hw_api.c
> @@ -605,10 +605,12 @@ int opae_adapter_enumerate(struct opae_adapter
> *adapter)
> */
> void opae_adapter_destroy(struct opae_adapter *adapter) {
> - if (adapter && adapter->ops && adapter->ops->destroy)
> - adapter->ops->destroy(adapter);
> - opae_adapter_shm_free(adapter);
> - opae_adapter_mutex_close(adapter);
> + if (adapter) {
> + if (adapter->ops && adapter->ops->destroy)
> + adapter->ops->destroy(adapter);
> + opae_adapter_shm_free(adapter);
> + opae_adapter_mutex_close(adapter);
> + }
> }
Acked-by: Tianfei zhang <tianfei.zh...@intel.com>