public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH qemu] add patch fixing fd leak for vhost
Date: Thu,  3 Aug 2023 15:56:30 +0200	[thread overview]
Message-ID: <20230803135630.329820-1-f.ebner@proxmox.com> (raw)

Each pause+resume operation (which is also done as part of taking a VM
snapshot) would increase the number of open file descriptors by the
number of vhost devices (e.g. network devices by default). This could
lead to crashes during backup and surely other issues once the system
limit (default 1024) was reached [0].

[0]: https://forum.proxmox.com/threads/131603/

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 .../extra/0011-vhost-fix-the-fd-leak.patch    | 29 +++++++++++++++++++
 debian/patches/series                         |  1 +
 2 files changed, 30 insertions(+)
 create mode 100644 debian/patches/extra/0011-vhost-fix-the-fd-leak.patch

diff --git a/debian/patches/extra/0011-vhost-fix-the-fd-leak.patch b/debian/patches/extra/0011-vhost-fix-the-fd-leak.patch
new file mode 100644
index 0000000..31392fb
--- /dev/null
+++ b/debian/patches/extra/0011-vhost-fix-the-fd-leak.patch
@@ -0,0 +1,29 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Li Feng <fengli@smartx.com>
+Date: Mon, 31 Jul 2023 20:10:06 +0800
+Subject: [PATCH] vhost: fix the fd leak
+
+When the vhost-user reconnect to the backend, the notifer should be
+cleanup. Otherwise, the fd resource will be exhausted.
+
+Fixes: f9a09ca3ea ("vhost: add support for configure interrupt")
+
+Signed-off-by: Li Feng <fengli@smartx.com>
+Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
+---
+ hw/virtio/vhost.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
+index a266396576..8e3311781f 100644
+--- a/hw/virtio/vhost.c
++++ b/hw/virtio/vhost.c
+@@ -2034,6 +2034,8 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings)
+     event_notifier_test_and_clear(
+         &hdev->vqs[VHOST_QUEUE_NUM_CONFIG_INR].masked_config_notifier);
+     event_notifier_test_and_clear(&vdev->config_notifier);
++    event_notifier_cleanup(
++        &hdev->vqs[VHOST_QUEUE_NUM_CONFIG_INR].masked_config_notifier);
+ 
+     trace_vhost_dev_stop(hdev, vdev->name, vrings);
+ 
diff --git a/debian/patches/series b/debian/patches/series
index a4dd4c2..74578f6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,6 +8,7 @@ extra/0007-bcm2835_property-disable-reentrancy-detection-for-io.patch
 extra/0008-raven-disable-reentrancy-detection-for-iomem.patch
 extra/0009-apic-disable-reentrancy-detection-for-apic-msi.patch
 extra/0010-migration-block-dirty-bitmap-fix-loading-bitmap-when.patch
+extra/0011-vhost-fix-the-fd-leak.patch
 bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch
 bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch
 bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch
-- 
2.39.2





             reply	other threads:[~2023-08-03 13:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-03 13:56 Fiona Ebner [this message]
2023-08-03 15:40 ` [pve-devel] applied: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230803135630.329820-1-f.ebner@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal