From: sashiko-bot@kernel.org
To: "Vipin Sharma" <vipinsh@google.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH v5 05/20] vfio/pci: Register a file handler with Live Update Orchestrator
Date: Tue, 14 Jul 2026 15:28:56 +0000 [thread overview]
Message-ID: <20260714152856.F239E1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260714151505.3466855-6-vipinsh@google.com>
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The Kconfig option VFIO_PCI_LIVEUPDATE depends on a non-existent configuration symbol PCI_LIVEUPDATE.
- [High] Calls to undeclared and undefined functions pci_liveupdate_register_flb() and pci_liveupdate_unregister_flb().
- [High] Masking -EOPNOTSUPP on FLB registration failure leads to a double unregistration of the file handler and potential kernel panic.
--
--- Patch [5]: [PATCH v5 05/20] vfio/pci: Register a file handler with Live Update Orchestrator ---
commit a3c1a8c69f4b2c27d2e063cca84eb003906e3bbf
Author: Vipin Sharma <vipinsh@google.com>
vfio/pci: Register a file handler with Live Update Orchestrator
This commit adds a live update file handler for vfio-pci device files
with stub implementations. It registers the handler with the live update
framework and PCI subsystem, gated behind a new VFIO_PCI_LIVEUPDATE option.
> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> index 296bf01e185ec..c12d614fc6c4a 100644
> --- a/drivers/vfio/pci/Kconfig
> +++ b/drivers/vfio/pci/Kconfig
[ ... ]
> @@ -42,6 +42,18 @@ config VFIO_PCI_IGD
> and LPC bridge config space.
>
> To enable Intel IGD assignment through vfio-pci, say Y.
> +
> +config VFIO_PCI_LIVEUPDATE
> + bool "VFIO PCI support for Live Update (EXPERIMENTAL)"
> + depends on PCI_LIVEUPDATE
[Severity: High]
Does the PCI_LIVEUPDATE configuration symbol exist anywhere in the kernel
tree? It appears this dependency cannot be met, preventing the new
VFIO_PCI_LIVEUPDATE option from being selected.
> + help
> + Support for preserving devices bound to vfio-pci across a Live
[ ... ]
> diff --git a/drivers/vfio/pci/vfio_pci_liveupdate.c b/drivers/vfio/pci/vfio_pci_liveupdate.c
> new file mode 100644
> index 0000000000000..803528c9f1b27
> --- /dev/null
> +++ b/drivers/vfio/pci/vfio_pci_liveupdate.c
[ ... ]
> +int __init vfio_pci_liveupdate_init(void)
> +{
> + int ret;
> +
> + ret = liveupdate_register_file_handler(&vfio_pci_liveupdate_fh);
> + if (ret)
> + goto err_return;
> +
> + ret = pci_liveupdate_register_flb(&vfio_pci_liveupdate_fh);
[Severity: High]
Are pci_liveupdate_register_flb() and pci_liveupdate_unregister_flb()
declared in any header or defined in any source file? Building with
this configuration enabled might result in implicit declaration compiler
errors and fatal linker errors.
> + if (ret)
> + goto err_unregister;
> +
> + return 0;
> +
> +err_unregister:
> + liveupdate_unregister_file_handler(&vfio_pci_liveupdate_fh);
> +err_return:
> + return (ret == -EOPNOTSUPP) ? 0 : ret;
[Severity: High]
If pci_liveupdate_register_flb() returns -EOPNOTSUPP, this error path
unregisters the file handler but returns 0. Could this lead to a double
unregistration when the module is unloaded and vfio_pci_liveupdate_cleanup()
is called?
Calling liveupdate_unregister_file_handler() a second time on the already
removed list node might cause list corruption and a kernel panic.
> +}
> +
> +void vfio_pci_liveupdate_cleanup(void)
> +{
> + pci_liveupdate_unregister_flb(&vfio_pci_liveupdate_fh);
> + liveupdate_unregister_file_handler(&vfio_pci_liveupdate_fh);
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260714151505.3466855-1-vipinsh@google.com?part=5
next prev parent reply other threads:[~2026-07-14 15:28 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 15:14 [PATCH v5 00/20] vfio/pci: Base Live Update support for VFIO Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 01/20] vfio/pci: Factor out the reset logic in VFIO PCI device close path Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 02/20] vfio: Export various helpers from VFIO Vipin Sharma
2026-07-14 15:30 ` sashiko-bot
2026-07-14 15:14 ` [PATCH v5 03/20] vfio/pci: Export vfio_pci_dma_buf_move for vfio-pci module Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 04/20] liveupdate: Export symbols needed by modules Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 05/20] vfio/pci: Register a file handler with Live Update Orchestrator Vipin Sharma
2026-07-14 15:28 ` sashiko-bot [this message]
2026-07-14 15:14 ` [PATCH v5 06/20] vfio/pci: Preserve vfio-pci device files across Live Update Vipin Sharma
2026-07-14 15:36 ` sashiko-bot
2026-07-14 15:14 ` [PATCH v5 07/20] vfio: Introduce vfio_find_device() helper Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 08/20] vfio: Refactor vfio_device_fops_cdev_open() Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 09/20] vfio: Add API to open cdev device for Live Update restore Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 10/20] vfio/pci: Retrieve preserved device files after Live Update Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 11/20] vfio: Enforce preserved devices are retrieved via LIVEUPDATE_SESSION_RETRIEVE_FD Vipin Sharma
2026-07-14 15:28 ` sashiko-bot
2026-07-14 15:14 ` [PATCH v5 12/20] docs: liveupdate: Add documentation for VFIO PCI Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 13/20] vfio: selftests: Build liveupdate library in VFIO selftests Vipin Sharma
2026-07-14 15:20 ` sashiko-bot
2026-07-14 15:14 ` [PATCH v5 14/20] vfio: selftests: Add vfio_pci_liveupdate_uapi_test Vipin Sharma
2026-07-14 15:44 ` sashiko-bot
2026-07-14 15:15 ` [PATCH v5 15/20] vfio: selftests: Initialize vfio_pci_device using a VFIO cdev FD Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 16/20] vfio: selftests: Add Makefile support for TEST_GEN_PROGS_EXTENDED Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 17/20] vfio: selftests: Add vfio_pci_liveupdate_kexec_test Vipin Sharma
2026-07-14 15:35 ` sashiko-bot
2026-07-14 15:15 ` [PATCH v5 18/20] vfio: selftests: Expose iommu_modes to tests Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 19/20] vfio: selftests: Verify that opening VFIO device fails during Live Update Vipin Sharma
2026-07-14 15:42 ` sashiko-bot
2026-07-14 15:15 ` [PATCH v5 20/20] vfio: selftests: Add continuous DMA to vfio_pci_liveupdate_kexec_test Vipin Sharma
2026-07-14 15:37 ` sashiko-bot
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=20260714152856.F239E1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vipinsh@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.