From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 188811B799 for ; Wed, 7 Feb 2018 09:59:35 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C07DB20C0D; Wed, 7 Feb 2018 03:59:34 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Wed, 07 Feb 2018 03:59:34 -0500 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=8Sfp6Vrv3MgeyWmC3 owIg7URmk1X6YjPTmI4KhhkLdA=; b=mcKnyA+3sifnzUtrjbSp3dk3Y/OrHAhWm 6EKAesqsbGEKTC0IZJZHnDd/SAwDZ6UvznlLDmJHwIARY/auajKlEm7mt5q6JSRN y2U+JZMzXCotGUyPU5KA3+6nPzjosV+Peyn5PRhW8+3XYECCrreDw+tsFqN23H4N hAN1jqdRfPvvToA1ufdyI9fGZiAYewyEdHsuw86pFxzHbx1hFO0jTUnVudzeffYl Nb9xZ7DDhUGVF1mrVXYtVFpR52reb7YdkokeeY6vOulDD1YaBdkE/MnCUlex01lI 5XsD0UznuGKs4PZnc+VeHXYzxt2n9nhAD0Wdoy6BlrGZJmxpT1sBQ== 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= fm1; bh=8Sfp6Vrv3MgeyWmC3owIg7URmk1X6YjPTmI4KhhkLdA=; b=dYgEFg2f gskigdIBqJSS3UU8JvqDxq7QqoBIPfKbbEgIYBorO5WLH2/L18H+C8jyKYR3ADJ3 vjOZEFQDQNzYN7sQjvXhmXDizNS1FeywXVYyefdWGxnBbL5RSNEet+t9rE0RHccU fWUvwxyqUDbyZwfYhkSbkqJmZPVhu1gSCU/nslVMEhckPje0oSzElU0RHqjhUsuI +yXHLUu42M1Ku/cvTFEFU5eEGbsW4Bdwc8eRiAg/XQ3K2iiPpm+h0HeP6XRHTu95 NPENTpKolnACcYEIXNF0fuumWZW7RPikOzNzfcIiLmB+ExwySQdndKRZyaomS4E9 BelqhTD0nJ+sPA== X-ME-Sender: Received: from localhost.localdomain (unknown [182.84.161.100]) by mail.messagingengine.com (Postfix) with ESMTPA id 4AC5A24608; Wed, 7 Feb 2018 03:59:31 -0500 (EST) From: Yuanhan Liu To: Adrien Mazarguil Cc: Moti Haimovsky , dpdk stable Date: Wed, 7 Feb 2018 16:56:59 +0800 Message-Id: <1517993838-26692-5-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1517993838-26692-1-git-send-email-yliu@fridaylinux.org> References: <1517993838-26692-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'net/mlx4: fix drop flow resources leak' has been queued to LTS release 17.11.1 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: Wed, 07 Feb 2018 08:59:35 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/09/18. So please shout if anyone has objections. Thanks. --yliu --- >>From f014d695bbfee54b24dc170106d5951537b7f3dd Mon Sep 17 00:00:00 2001 From: Adrien Mazarguil Date: Wed, 31 Jan 2018 16:33:06 +0100 Subject: [PATCH] net/mlx4: fix drop flow resources leak [ upstream commit ff20ecbf2af7d7fe430526c055e980321a9fa7d9 ] Resources allocated for drop flow rules are not freed properly. This causes a memory leak and triggers an assertion failure on a reference counter when compiled in debug mode. This issue can be reproduced with testpmd by entering the following commands: flow create 0 ingress pattern eth / end actions drop / end port start all port stop all port start all port stop all quit The reason is additional references are taken when re-enabling existing flow rules, a common occurrence when rehashing configuration. Fixes: d3a7e09234e4 ("net/mlx4: allocate drop flow resources on demand") Reported-by: Moti Haimovsky Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4_flow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c index 8b87b29..e81e24d 100644 --- a/drivers/net/mlx4/mlx4_flow.c +++ b/drivers/net/mlx4/mlx4_flow.c @@ -1048,6 +1048,8 @@ mlx4_flow_toggle(struct priv *priv, flow->drop = missing; } if (flow->drop) { + if (flow->ibv_flow) + return 0; mlx4_drop_get(priv); if (!priv->drop) { err = rte_errno; -- 2.7.4