From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 437005F3B for ; Fri, 27 Apr 2018 17:21:21 +0200 (CEST) X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Apr 2018 08:21:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,335,1520924400"; d="scan'208";a="35131421" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.51]) by fmsmga007.fm.intel.com with SMTP; 27 Apr 2018 08:21:18 -0700 Received: by (sSMTP sendmail emulation); Fri, 27 Apr 2018 16:21:17 +0100 Date: Fri, 27 Apr 2018 16:21:17 +0100 From: Bruce Richardson To: Anatoly Burakov Cc: dev@dpdk.org, thomas@monjalon.net Message-ID: <20180427152116.GE80648@bricha3-MOBL.ger.corp.intel.com> References: <36228cdd42eef261936b07c42a3c582f7e715da1.1524650130.git.anatoly.burakov@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <36228cdd42eef261936b07c42a3c582f7e715da1.1524650130.git.anatoly.burakov@intel.com> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v3 5/9] mem: fix potential resource leak 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: Fri, 27 Apr 2018 15:21:21 -0000 On Wed, Apr 25, 2018 at 10:56:43AM +0100, Anatoly Burakov wrote: > Normally, tailq entry should have a valid fd by the time we attempt > to map the segment. However, in case it doesn't, we're leaking fd, > so fix it. > > Coverity issue: 272570 > > Fixes: 2a04139f66b4 ("eal: add single file segments option") > Cc: anatoly.burakov@intel.com > > Signed-off-by: Anatoly Burakov > --- > lib/librte_eal/linuxapp/eal/eal_memalloc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > index fab5a98..b02e3a5 100644 > --- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c > +++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c > @@ -524,6 +524,8 @@ alloc_seg(struct rte_memseg *ms, void *addr, int socket_id, > if (te != NULL && te->fd >= 0) { > close(te->fd); > te->fd = -1; Is "fd" still not being leaked here, since we won't hit the else case and then jump to the end of the function where it goes out of scope? > + } else { > + close(fd); > } > /* ignore errors, can't make it any worse */ > unlink(path); > -- > 2.7.4