[PATCH v2 0/1] liveupdate: Add internal APIs for file preservation

Samiullah Khawaja posted 1 patch 1 day ago
include/linux/liveupdate.h       | 22 ++++++++++
kernel/liveupdate/luo_file.c     | 69 ++++++++++++++++++++++++++++++++
kernel/liveupdate/luo_internal.h | 17 ++++++++
3 files changed, 108 insertions(+)
[PATCH v2 0/1] liveupdate: Add internal APIs for file preservation
Posted by Samiullah Khawaja 1 day ago
Live update orchestrator file handlers depend on the preservation of
other files. To make sure that the dependency is preserved, the file
handlers needs to fetch the preservation token of the preserved
dependency. Similarly during restore, a file handler wants to fetch the
restored file of the dependency.

There are two known usecases of this,

- VFIO-Cdev preservation requires the preservation of iommufd. This is
  required by the IOMMU preservation series:
  https://lore.kernel.org/all/20260427175633.1978233-1-skhawaja@google.com/
- guest_memfd preservation requires the preservation of kvmfd. This is
  required by the guest_memfd preservation series:
  https://lore.kernel.org/all/20ae20f9d1a198b289444ebb4c824314cbba1bcf.1780676742.git.tarunsahu@google.com/

This patch was being sent as part of the IOMMU preservation series, but
now it is being sent separately.

Note that LUO File Handlers may resolve the dependencies during
preserve() as freeze() is very late and past the point of no return.
Also FH might have preservation requirements on dependencies due to
immutability, security and performance reasons.

v2:
- rebased on liveupdate/next to resolve conflicts
- Added a note about resolution of dependencies based on offline
  discussion with Pasha and David.

Pasha Tatashin (1):
  liveupdate: luo_file: Add internal APIs for file preservation

 include/linux/liveupdate.h       | 22 ++++++++++
 kernel/liveupdate/luo_file.c     | 69 ++++++++++++++++++++++++++++++++
 kernel/liveupdate/luo_internal.h | 17 ++++++++
 3 files changed, 108 insertions(+)


base-commit: cecfb90c5f2cc0622b363c2291b69d6cad272897
-- 
2.55.0.229.g6434b31f56-goog