From patchwork Thu Jun 16 02:33:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tetsuya Mukawa X-Patchwork-Id: 13883 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 448B5C54C; Thu, 16 Jun 2016 04:33:35 +0200 (CEST) Received: from mail-pf0-f179.google.com (mail-pf0-f179.google.com [209.85.192.179]) by dpdk.org (Postfix) with ESMTP id 2EBA3C4D2 for ; Thu, 16 Jun 2016 04:33:33 +0200 (CEST) Received: by mail-pf0-f179.google.com with SMTP id c2so14769259pfa.2 for ; Wed, 15 Jun 2016 19:33:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=igel-co-jp.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=JMd4V7nWdaK8a8p6HuYUH0DYmjfe7LFLsRysmbY0X0Y=; b=mfk7KaFguanqQbLWnmWtUQWqKarHN7gKI6OygmwW/N1JKT+wQwakrp+XIdZS/6JQa5 tiXk/2AphmKKcCYSx3hc1PEUHDoSp0hXbYIWzUBdGgVsv2J1H0ETt/Nyt8LUTX74kCT8 yBuvdk7dHYJezKUGIQHNR7d/i0tP0ULlKVkMbfiIh4fQ0LYYeP1ABu4lIPrc5su1FYYY LeiAlL/UA1sl424dnjGuOZcNZgGnf1lW+m+Frox4rNu0wHzzsax2Cs0EmYOoeiRoQ3n3 8OEA6xMXDcPAywU1w0yXw9jAfqoOrKRxv9yrqBzAeMyBCb1Rh3MqMBxwIHwKGAgwqDnB Ty7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=JMd4V7nWdaK8a8p6HuYUH0DYmjfe7LFLsRysmbY0X0Y=; b=UV5qJDeRXGfA+Q61uZ+2ojlb2tRFkmrek8sXq6AcKjI9SHv8LuAnuG4x+2cw4kLagb Kh4UWry0SqVyS9hRi4BQpvMrOWevXa3ktneQYPdRVDM9mRvnAfFFl0Nc8XUGeiCQf1cH IQdq+Egw1rT1pRvsqS4EhXFJw4bGqqzHeSAcGK6nT5OH/pMLEpf/uMkm2z8zBBZig0Ry 9q8X9giRKSPBuoUxvnMoZB+wV3cuMTkjvNjekRxaSOuIfWocncdKFqSD3lgdVCWlmwmn DeaVRsAxtBRwhguauQONad4Ebcbz7Sz+TGG1x2OcWGKy9moLcAVi1ZonQSb9BYiySXAQ exFg== X-Gm-Message-State: ALyK8tL4ciy0NBsBhWMf+jRF8r6X7hB3XPWo1RahO1eIU2/rlBL1l+WWSrM2YDRDt0bBGQ== X-Received: by 10.98.68.203 with SMTP id m72mr2202287pfi.135.1466044412511; Wed, 15 Jun 2016 19:33:32 -0700 (PDT) Received: from localhost.localdomain (napt.igel.co.jp. [219.106.231.132]) by smtp.gmail.com with ESMTPSA id x10sm47039895pfd.8.2016.06.15.19.33.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Jun 2016 19:33:31 -0700 (PDT) From: Tetsuya Mukawa To: dev@dpdk.org Cc: david.marchand@6wind.com, john.mcnamara@intel.com, michalx.k.jastrzebski@intel.com, Tetsuya Mukawa Date: Thu, 16 Jun 2016 11:33:10 +0900 Message-Id: <1466044391-3210-2-git-send-email-mukawa@igel.co.jp> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1466044391-3210-1-git-send-email-mukawa@igel.co.jp> References: <1466044391-3210-1-git-send-email-mukawa@igel.co.jp> In-Reply-To: <1465961221-28357-1-git-send-email-mukawa@igel.co.jp> References: <1465961221-28357-1-git-send-email-mukawa@igel.co.jp> Subject: [dpdk-dev] [PATCH v2] eal: Fix wrong resource release while unmapping pci devices X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch fixes wrong resource release of pci_uio_unmap(). The 'path' member of mapped_pci_resource structure is allocated by primary process, but currently it will be freed by both primary and secondary process. The patch fixes to be freed by only primary process. Signed-off-by: Tetsuya Mukawa --- lib/librte_eal/common/eal_common_pci_uio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_pci_uio.c b/lib/librte_eal/common/eal_common_pci_uio.c index f062e81..488b6dd 100644 --- a/lib/librte_eal/common/eal_common_pci_uio.c +++ b/lib/librte_eal/common/eal_common_pci_uio.c @@ -159,7 +159,9 @@ pci_uio_unmap(struct mapped_pci_resource *uio_res) for (i = 0; i != uio_res->nb_maps; i++) { pci_unmap_resource(uio_res->maps[i].addr, (size_t)uio_res->maps[i].size); - rte_free(uio_res->maps[i].path); + + if (rte_eal_process_type() == RTE_PROC_PRIMARY) + rte_free(uio_res->maps[i].path); } }