From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by dpdk.org (Postfix) with ESMTP id 0F69F559A for ; Fri, 14 Jul 2017 12:36:05 +0200 (CEST) Received: by mail-pf0-f195.google.com with SMTP id q85so10555626pfq.2 for ; Fri, 14 Jul 2017 03:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BhCCrHPmICoN7rDX1KU4Jsh64U5hBNAste+FkZGQW/8=; b=O2GPQtramTsJt0zhw8thwC3XLpdNNOeEgX+4bUTE63B4e1jg7N2NSx8MJqJHJnwq3Z 6Gq3vILtVUIx7X4O5tDHx6Iy74BvHz2RKCo0mdey23M7MRBv9wenQ24ddDeGZ1lyHHM6 tqK3ckAEjQ9k1SQki7TC6Bf32zDJkRcfbUNdufMYdNzlcUzQa0/gEBNYrW+p81EdFM7s DKLn8kAHt+i6SHYP4/uTvEjxH+GVkFuk+c5IcXGrLgnHXbL/yqS4m5PAQzqJPhUqHT6/ g423V4WANNOxuspE0ps+gaGeVp2eQ1AnS2VlhRaS90oI3t725P1wDNWH158uwTh+6HLl bL3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=BhCCrHPmICoN7rDX1KU4Jsh64U5hBNAste+FkZGQW/8=; b=RwEg7D9kVVngM9NB9dQ6b8uQLk9I+KSao/FcwkzluULrwAEFNUoA+5A0zyXhCFiSwI kxlqYj7zGQD2Cdn6lpTObxRNiCTS0bJHBIxFI9ARjK7wwgf/xxkyVha+mRYD6wap0eLg A+TKC7xvmID+Z34zYTmFEcUKCCbks3yqKKg/oSxTp5UlOUoP+Mr2HGQQUYMxf/tmFt9Y lCWr5WiWGL1P3Stf//uXSWhzrEPoPr9T7WZ5j4l0GGA5YkVf/Z3Uj0tew/2dld2l+4Px QdmhBF8Xer62FkL19Rw+eFyB87bVm9Q+sHFuW+eKfvrDOL4chgOhgixTJ4rcD5KA3Lv7 F5hQ== X-Gm-Message-State: AIVw110pDJtOS8HVpofuEOPjWzjDiyOWzi2o6iGwz2nd+hq788l+FPnZ 7LDgCU9UK7KljwnsNt1HtVkk X-Received: by 10.98.63.220 with SMTP id z89mr4613302pfj.84.1500028564388; Fri, 14 Jul 2017 03:36:04 -0700 (PDT) Received: from localhost.localdomain ([180.158.48.171]) by smtp.gmail.com with ESMTPSA id y205sm15273553pfb.124.2017.07.14.03.36.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 14 Jul 2017 03:36:03 -0700 (PDT) From: Yuanhan Liu To: Tiwei Bie Cc: Bruce Richardson , dpdk stable Date: Fri, 14 Jul 2017 18:33:49 +0800 Message-Id: <1500028450-25989-25-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500028450-25989-1-git-send-email-yliu@fridaylinux.org> References: <1500028450-25989-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'contigmem: free allocated memory on error' has been queued to LTS release 16.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: Fri, 14 Jul 2017 10:36:05 -0000 Hi, FYI, your patch has been queued to LTS release 16.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 07/19/17. So please shout if anyone has objections. Thanks. --yliu --- >>From 3e35cc5b148610735f7c0039afd4076b0c173f58 Mon Sep 17 00:00:00 2001 From: Tiwei Bie Date: Sun, 4 Jun 2017 13:53:23 +0800 Subject: [PATCH] contigmem: free allocated memory on error [ upstream commit 5f51eca22489cc85aea23210d2e61e1f56870b7c ] Fixes: 764bf26873b9 ("add FreeBSD support") Signed-off-by: Tiwei Bie Acked-by: Bruce Richardson --- lib/librte_eal/bsdapp/contigmem/contigmem.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/bsdapp/contigmem/contigmem.c b/lib/librte_eal/bsdapp/contigmem/contigmem.c index da971de..03e3e8d 100644 --- a/lib/librte_eal/bsdapp/contigmem/contigmem.c +++ b/lib/librte_eal/bsdapp/contigmem/contigmem.c @@ -123,19 +123,21 @@ static int contigmem_load() { char index_string[8], description[32]; - int i; + int i, error = 0; if (contigmem_num_buffers > RTE_CONTIGMEM_MAX_NUM_BUFS) { printf("%d buffers requested is greater than %d allowed\n", contigmem_num_buffers, RTE_CONTIGMEM_MAX_NUM_BUFS); - return EINVAL; + error = EINVAL; + goto error; } if (contigmem_buffer_size < PAGE_SIZE || (contigmem_buffer_size & (contigmem_buffer_size - 1)) != 0) { printf("buffer size 0x%lx is not greater than PAGE_SIZE and " "power of two\n", contigmem_buffer_size); - return EINVAL; + error = EINVAL; + goto error; } for (i = 0; i < contigmem_num_buffers; i++) { @@ -145,7 +147,8 @@ contigmem_load() if (contigmem_buffers[i] == NULL) { printf("contigmalloc failed for buffer %d\n", i); - return ENOMEM; + error = ENOMEM; + goto error; } printf("%2u: virt=%p phys=%p\n", i, contigmem_buffers[i], @@ -165,6 +168,14 @@ contigmem_load() GID_WHEEL, 0600, "contigmem"); return 0; + +error: + for (i = 0; i < contigmem_num_buffers; i++) + if (contigmem_buffers[i] != NULL) + contigfree(contigmem_buffers[i], contigmem_buffer_size, + M_CONTIGMEM); + + return error; } static int -- 2.7.4