From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wiles, Keith" Subject: Re: [PATCH 3/4] net/tap: fix file descriptor leak on error Date: Wed, 7 Nov 2018 10:02:50 +0000 Message-ID: <4DF969B8-7809-490B-8393-010184DD1AA0@intel.com> References: <20181106193005.5383-1-stephen@networkplumber.org> <20181106193005.5383-4-stephen@networkplumber.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Cc: dev To: Stephen Hemminger Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 568CD201 for ; Wed, 7 Nov 2018 11:02:52 +0100 (CET) In-Reply-To: <20181106193005.5383-4-stephen@networkplumber.org> Content-Language: en-US Content-ID: <8BC514BB12773F428745ACE79A2D4CE3@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > On Nov 6, 2018, at 7:30 PM, Stephen Hemminger wrote: >=20 > If netlink socket setup fails the file descriptor was leaked. Acked-by: Keith Wiles >=20 > Coverity issue: 257040 > Fixes: 7c25284e30c2 ("net/tap: add netlink back-end for flow API") > Signed-off-by: Stephen Hemminger > --- > drivers/net/tap/tap_netlink.c | 3 +++ > 1 file changed, 3 insertions(+) >=20 > diff --git a/drivers/net/tap/tap_netlink.c b/drivers/net/tap/tap_netlink.= c > index 6cb510092218..14bbbec754f6 100644 > --- a/drivers/net/tap/tap_netlink.c > +++ b/drivers/net/tap/tap_netlink.c > @@ -51,14 +51,17 @@ tap_nl_init(uint32_t nl_groups) > } > if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sndbuf_size, sizeof(int))) { > TAP_LOG(ERR, "Unable to set socket buffer send size"); > + close(fd); > return -1; > } > if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf_size, sizeof(int))) { > TAP_LOG(ERR, "Unable to set socket buffer receive size"); > + close(fd); > return -1; > } > if (bind(fd, (struct sockaddr *)&local, sizeof(local)) < 0) { > TAP_LOG(ERR, "Unable to bind to the netlink socket"); > + close(fd); > return -1; > } > return fd; > --=20 > 2.17.1 >=20 Regards, Keith