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

Pasha Tatashin pasha.tatashin at soleen.com
Tue Apr 14 13:02:32 PDT 2026


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




More information about the kexec mailing list