From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2] cryptodev: fix NULL pointer dereference Date: Mon, 31 Jul 2017 21:33:15 +0200 Message-ID: <7230298.g0yYOUbsxP@xps> References: <20170731023050.28956-1-pablo.de.lara.guarch@intel.com> <20170731091817.41505-1-pablo.de.lara.guarch@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: sergio.gonzalez.monroy@intel.com, dev@dpdk.org To: Pablo de Lara Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 597C799F5 for ; Mon, 31 Jul 2017 21:33:17 +0200 (CEST) In-Reply-To: <20170731091817.41505-1-pablo.de.lara.guarch@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 31/07/2017 11:18, Pablo de Lara: > When register a crypto driver, a cryptodev driver > structure was being allocated, using malloc. > Since this call may fail, it is safer to allocate > this memory statically in each PMD, so driver registration > will never fail. > > Coverity issue: 158645 > > Fixes: 7a364faef185 ("cryptodev: remove crypto device type enumeration") > > Signed-off-by: Pablo de Lara > --- > > Changes in v2: > > - Allocate statically the cryptodev driver structure, > instead of using malloc, that can potentially fail. > > drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 5 ++++- > drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 6 +++++- > drivers/crypto/armv8/rte_armv8_pmd.c | 9 ++++++--- > drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 5 ++++- > drivers/crypto/kasumi/rte_kasumi_pmd.c | 5 ++++- > drivers/crypto/null/null_crypto_pmd.c | 5 ++++- > drivers/crypto/openssl/rte_openssl_pmd.c | 5 ++++- > drivers/crypto/qat/rte_qat_cryptodev.c | 7 +++++-- > drivers/crypto/scheduler/scheduler_pmd.c | 5 ++++- > drivers/crypto/snow3g/rte_snow3g_pmd.c | 5 ++++- > drivers/crypto/zuc/rte_zuc_pmd.c | 5 ++++- > lib/librte_cryptodev/rte_cryptodev.c | 18 +++++------------ > lib/librte_cryptodev/rte_cryptodev.h | 20 ------------------- > lib/librte_cryptodev/rte_cryptodev_pmd.h | 30 +++++++++++++++++++++++++++++ > 14 files changed, 83 insertions(+), 47 deletions(-) This is a big change for a small/unlikely issue. The main benefit of this patch is an allocation cleanup. I think it is better to wait 17.11 cycle to integrate it.