> -----Original Message----- > From: Maxime Coquelin <maxime.coque...@redhat.com> > Sent: Thursday, November 5, 2020 7:46 PM > To: dev@dpdk.org; Ding, Xuan <xuan.d...@intel.com>; > step...@networkplumber.org; Yigit, Ferruh <ferruh.yi...@intel.com>; > tho...@monjalon.net; Xia, Chenbo <chenbo....@intel.com> > Cc: sta...@dpdk.org; Maxime Coquelin <maxime.coque...@redhat.com> > Subject: [PATCH 3/3] vhost: fix fd leak in kick setup > > This patch fixes a file descriptor leak which happens > in the error path of vhost_user_set_vring_kick(). > > Fixes: 4796ad63ba1f ("examples/vhost: import userspace vhost application") > Cc: sta...@dpdk.org > > Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> > --- > lib/librte_vhost/vhost_user.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c > index 7dfda15991..de06b051be 100644 > --- a/lib/librte_vhost/vhost_user.c > +++ b/lib/librte_vhost/vhost_user.c > @@ -1855,8 +1855,12 @@ vhost_user_set_vring_kick(struct virtio_net **pdev, > struct VhostUserMsg *msg, > > /* Interpret ring addresses only when ring is started. */ > dev = translate_ring_addresses(dev, file.index); > - if (!dev) > + if (!dev) { > + if (file.fd != VIRTIO_INVALID_EVENTFD) > + close(file.fd); > + > return RTE_VHOST_MSG_RESULT_ERR; > + } > > *pdev = dev; > > -- > 2.26.2
Reviewed-by: Chenbo Xia <chenbo....@intel.com>