> -----Original Message----- > From: Ferruh Yigit [mailto:ferruh.yi...@intel.com] > Sent: Tuesday, April 7, 2020 11:36 PM > To: wangyunjian <wangyunj...@huawei.com>; dev@dpdk.org > Cc: keith.wi...@intel.com; Lilijun (Jerry) <jerry.lili...@huawei.com>; > xudingke > <xudin...@huawei.com>; sta...@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v3 5/5] net/tap: fix netlink socket file > descriptor > check before close > > On 4/7/2020 5:23 AM, wangyunjian wrote: > > From: Yunjian Wang <wangyunj...@huawei.com> > > > > The "internals->nlsk_fd" is possibly a zero value. Error comparison > > should check for negative fd. > > > > Fixes: de96fe68ae95 ("net/tap: add basic flow API patterns and > > actions") > > CC: sta...@dpdk.org > > > > Signed-off-by: Yunjian Wang <wangyunj...@huawei.com> > > --- > > drivers/net/tap/rte_eth_tap.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/tap/rte_eth_tap.c > > b/drivers/net/tap/rte_eth_tap.c index 88cd615e0..ff149342b 100644 > > --- a/drivers/net/tap/rte_eth_tap.c > > +++ b/drivers/net/tap/rte_eth_tap.c > > @@ -2442,7 +2442,7 @@ rte_pmd_tap_remove(struct rte_vdev_device > *dev) > > TAP_LOG(DEBUG, "Closing %s Ethernet device on numa %u", > > tuntap_types[internals->type], rte_socket_id()); > > > > - if (internals->nlsk_fd) { > > + if (internals->nlsk_fd >= 0) { > > I guess it is unlikely socket() will return 0 as fd, but technically it seems > possible. > > 'tap_nl_init()' either returns '-1' for error or a valid fd, and this has been > checked as "pmd->nlsk_fd == -1" in other locations, what about doing similar > here: > > "if (internals->nlsk_fd != -1)"
OK, will do this in v4. Thanks Yunjian > > > tap_flow_flush(eth_dev, NULL); > > tap_flow_implicit_flush(internals, NULL); > > tap_nl_final(internals->nlsk_fd); > >