[PATCH 0/5] liveupdate: Remove limits on the number of files and sessions

Pasha Tatashin
2026-04-14T20:02:40Z

This series removes the fixed limits on the number of files that can
be preserved within a single session, and the total number of sessions
managed by the Live Update Orchestrator.

The core of the change is a transition from single contiguous memory
blocks for metadata serialization to a chain of linked blocks. This
allows LUO to scale dynamically.

1. ABI Evolution:
- Introduced linked-block headers for both file and session
serialization.
- Bumped session ABI version to v4.

2. Memory Management & Security:
- Implemented a dynamic block allocation and reuse strategy. Blocks
are allocated only when existing ones are exhausted and are reused
during session/file removal cycles.
- Introduced LUO_MAX_BLOCKS (10000) as a safeguard against stupid
excessive allocations or corrupted cyclic lists during restore.

3. Expanded Selftests:
- Added new kexec-based tests verifying preservation of
2000 sessions and 500 files per session.
- Added self-tests for many sessions and many files management.

Pasha Tatashin (5):
liveupdate: Remove limit on the number of sessions
liveupdate: Remove limit on the number of files per session
selftests/liveupdate: Test session and file limit removal
selftests/liveupdate: Add stress-sessions kexec test
selftests/liveupdate: Add stress-files kexec test

include/linux/kho/abi/luo.h | 52 +++-
kernel/liveupdate/luo_file.c | 226 +++++++++++------
kernel/liveupdate/luo_internal.h | 29 ++-
kernel/liveupdate/luo_session.c | 237 +++++++++++++-----
tools/testing/selftests/liveupdate/Makefile | 2 +
.../testing/selftests/liveupdate/liveupdate.c | 99 ++++++++
.../selftests/liveupdate/luo_stress_files.c | 98 ++++++++
.../liveupdate/luo_stress_sessions.c | 98 ++++++++
.../selftests/liveupdate/luo_test_utils.c | 25 ++
.../selftests/liveupdate/luo_test_utils.h | 2 +
10 files changed, 709 insertions(+), 159 deletions(-)
create mode 100644 tools/testing/selftests/liveupdate/luo_stress_files.c
create mode 100644 tools/testing/selftests/liveupdate/luo_stress_sessions.c

--
2.43.0