From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f48.google.com (mail-lf0-f48.google.com [209.85.215.48]) by dpdk.org (Postfix) with ESMTP id C8E912BBE for ; Mon, 10 Apr 2017 16:20:15 +0200 (CEST) Received: by mail-lf0-f48.google.com with SMTP id z15so71597707lfd.1 for ; Mon, 10 Apr 2017 07:20:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=FjcL7hUYR33/+PvJ2pEKNVGjKzdK0taBRdJXDuZEFKE=; b=xyWJInRC2CH5It1DrrtnDnZi2eB1QArNPpY7VIQnk9lSp1eHyRR4fM7RcauRWIrGq5 OK0RqgoJOIFIW51CBWaxiCnGpFlGuswOfHmxYm90Sy1GVkFXsp43pQiQrqOHyRonGHLz Tfl1Twu7sOM+fp5O9DFTn/CegXBP4VJcc5JCd/WPZ7T4qecSKQQdoXKw9ahRqjTSpwXf G+TV9V68bk81DIFBt09hRNsqW7jrMbUutYRkuobkiE6GlzS/Q5k9Qf8KO3hSOHD869Hm sznqH/xYWL8/CSj4iLzAA44RyfL9VJ3kwBPUAiPVDFCFsBKCIB+WDgwudcLRbTltbZi9 tyWA== 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=FjcL7hUYR33/+PvJ2pEKNVGjKzdK0taBRdJXDuZEFKE=; b=LTRCmnbn3hasZbeC6bYaf2D7n8tnaK8RPYXm6kZne+nJlHJW4z8/mpRaTJhYYySg4v E6tiWn6SxxuwmLnB04i8UVzOLUH9UemkmbqhsVtecOL5quvyJGCFq1ulE1Mmc+wGH+KG TY7d/ggZTiVlUNGvVoM2oZ3SyNgOo9yzShFWAeDiW7JMcDzmd0Zf8nIFEeYKJp7skkN1 ofwbfP0DJpF9jEEs1fcZ2EH1XDig7U4fQeqkfvNuG8uDG83Jqo1ktb4q2JlsRE5ovoeL sws9+R7tsR9DZsxKUyRvNzkgivpXUbPBukVMjQxNsr5NbQbdl0seDJxYiB7n/pLCcbXZ MkGw== X-Gm-Message-State: AN3rC/63hyJuE/GLYsJSpGtncEvPSmYp7VGde3tZBGgNdMIM+Qt4TDIq1Kr3QWLEs6jUwg== X-Received: by 10.25.16.168 with SMTP id 40mr1569216lfq.75.1491834015441; Mon, 10 Apr 2017 07:20:15 -0700 (PDT) Received: from enkidu.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id n82sm2918528lje.12.2017.04.10.07.20.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 Apr 2017 07:20:14 -0700 (PDT) From: Marcin Wojtas To: dev@dpdk.org Cc: jan.medala@outlook.com, jpalider@gmail.com, netanel@amazon.com, evgenys@amazon.com, matua@amazon.com, gtzalik@amazon.com, igorch@amazon.com, mw@semihalf.com, mk@semihalf.com Date: Mon, 10 Apr 2017 16:28:10 +0200 Message-Id: <1491834491-13944-4-git-send-email-mw@semihalf.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1491834491-13944-1-git-send-email-mw@semihalf.com> References: <1491834491-13944-1-git-send-email-mw@semihalf.com> Subject: [dpdk-dev] [PATCH v2 3/4] net/ena: cleanup if refilling of rx descriptors fails X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Apr 2017 14:20:16 -0000 From: Michal Krawczyk If wrong number of descriptors for refilling was passed to the Rx repopulate function, there was memory leak which caused memory pool to run out of resources in longer go. In case of fail when refilling Rx descriptors, all additional mbufs have to be released. Fixes: 1173fca25af9 ("ena: add polling-mode driver") Signed-off-by: Michal Krawczyk --- drivers/net/ena/ena_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index b4c713f..e6e889b 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -1172,6 +1172,8 @@ static int ena_populate_rx_queue(struct ena_ring *rxq, unsigned int count) rc = ena_com_add_single_rx_desc(rxq->ena_com_io_sq, &ebuf, next_to_use_masked); if (unlikely(rc)) { + rte_mempool_put_bulk(rxq->mb_pool, (void **)(&mbuf), + count - i); RTE_LOG(WARNING, PMD, "failed adding rx desc\n"); break; } -- 1.8.3.1