From: Logan Odell <loganodell@google.com>
To: arnd@arndb.de, pasha.tatashin@soleen.com, rppt@kernel.org,
pratyush@kernel.org, graf@amazon.com, akpm@linux-foundation.org,
pbonzini@redhat.com, maz@kernel.org, oupton@kernel.org,
seanjc@google.com, bhelgaas@google.com, alex@shazbot.org,
jgg@nvidia.com, kevin.tian@intel.com, dwmw2@infradead.org,
baolu.lu@linux.intel.com, joro@8bytes.org, will@kernel.org,
robin.murphy@arm.com
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
kexec@lists.infradead.org, linux-mm@kvack.org,
kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
kvmarm@lists.linux.dev, linux-pci@vger.kernel.org,
iommu@lists.linux.dev, Logan Odell <loganodell@google.com>
Subject: [RFC PATCH 0/3] liveupdate: Move to feature flags for LUO and memfd ABI compatibility
Date: Wed, 2 Sep 2026 19:34:49 -0700 [thread overview]
Message-ID: <20260903023452.721732-1-loganodell@google.com> (raw)
We're including maintainers from all subsystems that currently is or
will be expected to participate in live update to ensure alignment on
the path forward for compatibility.
Currently, Live Update Orchestrator (LUO) and its file handlers rely on
monolithic compatibility strings (such as "luo-v5" and "memfd-v1") to
validate ABI compatibility across kexec live updates. Any modification
to serialized structures requires bumping the version string, which
strictly breaks compatibility between adjacent kernels even when changes
are additive, backwards-compatible, or optional.
This RFC series transitions LUO and subsystem file handlers to use
granular feature bitmasks instead of compatibility strings. We replace
the compatibility string with a header structure that includes some
reserved space to define the features that are included after the
feature.
We include 3 bits of data for each feature: supported, active, and
required. When the supported bit is set in the next kernel, the previous
kernel can serialize the feature and pass it to the next kernel. When
the active bit is set, it means the previous occurred and the data for
that feature is valid. When the required bit is set, it means that the
next kernel must have the associated supported bit in order to be
compatible.
If a feature is required in that it cannot live update to a kernel that
does not support the feature, it is expected that the feature not be
active or required initially. This allows for an intermediate upgrade
path.
Overview of Changes:
1. Define feature header and migrate luo_ser (Patch 1):
- Introudce the feature header with the supported, active, and
required bits.
- Replace the luo compatibility string with this new header.
- Validate the preserved size is at least the size of the header. This
breaks compatibility with the old way.
2. Export feature header information to vmlinux (Patch 2):
- Adds a .liveupdate_features section in vmlinux containing
- Adds helper macros to export feature information for a given
subsystem
- Export luo's feature information
3. Memfd Handler Migration (Patch 3):
- Migrate memfd to use the feature header instead of compatibility
strings
Logan Odell (3):
luo: Move to feature flags instead of compatibility strings
luo: Export feature support to vmlinux section
luo: memfd: Move to feature flags instead of compatibility strings
include/asm-generic/vmlinux.lds.h | 12 ++++
include/linux/kho/abi/luo.h | 114 +++++++++++++++++++++++++-----
include/linux/kho/abi/memfd.h | 41 +++++++----
include/linux/liveupdate.h | 22 ++++--
kernel/liveupdate/luo_core.c | 60 ++++++++++++----
kernel/liveupdate/luo_file.c | 28 ++++----
kernel/liveupdate/luo_flb.c | 2 +-
lib/tests/liveupdate.c | 2 +-
mm/memfd_luo.c | 40 ++++++++---
9 files changed, 246 insertions(+), 75 deletions(-)
--
2.55.0.979.g7e5102b832-goog
next reply other threads:[~2026-09-03 2:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 2:34 Logan Odell [this message]
2026-09-03 2:34 ` [RFC PATCH 1/3] luo: Move to feature flags instead of compatibility strings Logan Odell
2026-09-03 2:34 ` [RFC PATCH 2/3] luo: Export feature support to vmlinux section Logan Odell
2026-09-03 2:34 ` [RFC PATCH 3/3] luo: memfd: Move to feature flags instead of compatibility strings Logan Odell
2026-09-04 16:00 ` [RFC PATCH 0/3] liveupdate: Move to feature flags for LUO and memfd ABI compatibility Jason Gunthorpe
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=20260903023452.721732-1-loganodell@google.com \
--to=loganodell@google.com \
--cc=akpm@linux-foundation.org \
--cc=alex@shazbot.org \
--cc=arnd@arndb.de \
--cc=baolu.lu@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=dwmw2@infradead.org \
--cc=graf@amazon.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kexec@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-pci@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
--cc=pasha.tatashin@soleen.com \
--cc=pbonzini@redhat.com \
--cc=pratyush@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rppt@kernel.org \
--cc=seanjc@google.com \
--cc=will@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).