From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 35A4E8D9D for ; Sun, 20 May 2018 15:08:36 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D804021C46; Sun, 20 May 2018 09:08:35 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sun, 20 May 2018 09:08:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Mav3DD3EcwJpThjfp 1w4luww2S6uawbPucUs/Nm9cpg=; b=nQT64ciW2aezJ5XLZ260iexMUa1731+aa JBcUXLm9uRjNNHcKvLT81Jf54ts49rKdf65JnWVPRQE9wexmCEY+o8nTPCmJqNnu zKoZ79LgWwL3BfRjIK+zHq2CwJiL1vjlh6nA0uPr/Cp4w7ZMVdpFj4+RDJNb1sY8 f+Lf2xmKna2WnsYwGEs2/2iLqiMkFJvqpJSB6j9ONpcRiwp53U1LcuDnJQQDwu59 pJBj/dACCRmNQVgQagPWuPSqSeTJIsKr+xpjhXX7n3490SQGzsQwbUYhl7fK/R/D SxpAJCb6VZHMnZWQ9ZGUqJ13AcFxfkqKaNlOrQnEO3vLYon4DG14A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=Mav3DD3EcwJpThjfp1w4luww2S6uawbPucUs/Nm9cpg=; b=JW0PZRuD f9P3tmlxlkTH+a5sTtRef6h0ISa2pGQfJE6MB85eNrI9WuCFg4KRtwyfDGemGtlx FY1CMZCQ4Unbl7OnvsCGZj987Psknw6yKcE1wL0Zna/74d1geDWWPhVPVUkTnr48 +DDy5gk+9UN4Rwd8pYEMYEEmMQD52IW/Jk2/ghPvY+umY3JLGUKXSVKgN5vMwQNC U25+CR8Xq7VH8MYP7J5KTj3egBfZSC9btwrAGaq35ikX4TAPoNgDAROsqVSc7FN2 XQdW3+ao7p+upzz4GPdL0H+YQyKSGDK7UuyBIFjDo70fIzP6EpLCeacZNAO05scP ZFFxG6L2FlzTkA== X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Sender: Received: from yuanhanliu-NB0.tencent.com (unknown [223.74.148.80]) by mail.messagingengine.com (Postfix) with ESMTPA id 14A6E1025C; Sun, 20 May 2018 09:08:33 -0400 (EDT) From: Yuanhan Liu To: Pablo de Lara Cc: Fan Zhang , dpdk stable Date: Sun, 20 May 2018 21:02:19 +0800 Message-Id: <20180520130246.16287-3-yliu@fridaylinux.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180520130246.16287-1-yliu@fridaylinux.org> References: <20180520130246.16287-1-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'crypto/scheduler: fix memory leak' has been queued to LTS release 17.11.3 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 May 2018 13:08:36 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/27/18. So please shout if anyone has objections. Thanks. --yliu --- >>From 81e3bff25c9d61914cc4972c0fd2c511a42e165a Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Thu, 26 Apr 2018 16:09:50 +0100 Subject: [PATCH] crypto/scheduler: fix memory leak [ upstream commit 7b2491a62dcc4da2ad5afca2dbba458588126c23 ] If private context creation fails, the memory allocated for it and for some of the rings created was being leaked. In case of failure, it must be freed. Fixes: 4c07e0552f0a ("crypto/scheduler: add multicore scheduling mode") Signed-off-by: Pablo de Lara Acked-by: Fan Zhang --- drivers/crypto/scheduler/scheduler_multicore.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/scheduler/scheduler_multicore.c b/drivers/crypto/scheduler/scheduler_multicore.c index 8617c480e..6a5c6e31a 100644 --- a/drivers/crypto/scheduler/scheduler_multicore.c +++ b/drivers/crypto/scheduler/scheduler_multicore.c @@ -380,20 +380,29 @@ scheduler_create_private_ctx(struct rte_cryptodev *dev) rte_socket_id(), RING_F_SC_DEQ | RING_F_SP_ENQ); if (!mc_ctx->sched_enq_ring[i]) { CS_LOG_ERR("Cannot create ring for worker %u", i); - return -1; + goto exit; } snprintf(r_name, sizeof(r_name), MC_SCHED_DEQ_RING_NAME_PREFIX "%u", i); mc_ctx->sched_deq_ring[i] = rte_ring_create(r_name, PER_SLAVE_BUFF_SIZE, rte_socket_id(), RING_F_SC_DEQ | RING_F_SP_ENQ); if (!mc_ctx->sched_deq_ring[i]) { CS_LOG_ERR("Cannot create ring for worker %u", i); - return -1; + goto exit; } } sched_ctx->private_ctx = (void *)mc_ctx; return 0; + +exit: + for (i = 0; i < sched_ctx->nb_wc; i++) { + rte_ring_free(mc_ctx->sched_enq_ring[i]); + rte_ring_free(mc_ctx->sched_deq_ring[i]); + } + rte_free(mc_ctx); + + return -1; } struct rte_cryptodev_scheduler_ops scheduler_mc_ops = { -- 2.11.0