From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A9313A04B1; Thu, 5 Nov 2020 03:50:10 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 08CA55A8C; Thu, 5 Nov 2020 03:49:35 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 413F35A51; Thu, 5 Nov 2020 03:49:32 +0100 (CET) IronPort-SDR: 1q6uYoj9tJrRtzh+D+uIZnREMTUeP9aoKGALx02XiXSJVePSDU56QmBW1okaR9+uf7l6fMl8HZ 5o+SnVJC0ztA== X-IronPort-AV: E=McAfee;i="6000,8403,9795"; a="169462877" X-IronPort-AV: E=Sophos;i="5.77,451,1596524400"; d="scan'208";a="169462877" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Nov 2020 18:49:31 -0800 IronPort-SDR: uE6QNGiiUtorfoL8A910V2KLJEYkJnEAm2GK/dsnYiBI03ZdVW4nvjfGCx8XUVBSLUkzo288tI /6z6xFz8VsMA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,451,1596524400"; d="scan'208";a="354105448" Received: from unknown (HELO sh_lab5_1.sh.intel.com) ([10.238.175.190]) by fmsmga004.fm.intel.com with ESMTP; 04 Nov 2020 18:49:30 -0800 From: Wei Huang To: dev@dpdk.org, rosen.xu@intel.com, qi.z.zhang@intel.com Cc: stable@dpdk.org, Wei Huang Date: Wed, 4 Nov 2020 20:49:29 -0500 Message-Id: <1604540969-5503-3-git-send-email-wei.huang@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1604540969-5503-1-git-send-email-wei.huang@intel.com> References: <1604540969-5503-1-git-send-email-wei.huang@intel.com> Subject: [dpdk-dev] [PATCH v1 2/2] raw/ifpga/base: check pointer adapter before derefence X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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); + } } /** -- 2.29.2