[PATCH v4 0/5] liveupdate: tighten handover cleanup and session lifetime

Oskar Gerlicz Kowalczuk oskar at gerlicz.space
Tue Mar 24 14:27:25 PDT 2026


Hi Pasha,

this v4 keeps the simpler direction from your mail: outgoing handover is
still driven by a boolean rebooting gate, refcount pinning of outgoing
sessions during serialization, and session->mutex as the serialization
point for in-flight mutations. There is no return to the earlier closing
counter or a larger session state machine.

The main changes in this respin are:

- reshape the series into five commits, each building and standing on its
  own
- keep incoming session origin immutable and use retrieved only as the
  checked-out bit
- make FINISH and implicit close consume incoming sessions without
  reopening races through retrieve-by-name
- route deserialize failures through explicit rollback paths for
  sessions, files, and serialized memfd state
- validate KHO-preserved extents before walking serialized metadata
- harden incoming FLB lifetime and remaining teardown paths

Patches 1-4 keep the core session, kexec, deserialize and validation work
separate. Patch 5 carries the remaining FLB and teardown fixes needed to
match the final tree.

Oskar Gerlicz Kowalczuk (5):
  liveupdate: block outgoing session updates during reboot
  kexec: abort liveupdate handover on kernel_kexec() unwind
  liveupdate: fail session restore on file deserialization errors
  liveupdate: validate handover metadata before using it
  liveupdate: harden FLB lifetime and remaining teardown paths

 include/linux/kexec_handover.h     |  13 +
 include/linux/liveupdate.h         |  17 +-
 kernel/kexec_core.c                |   4 +
 kernel/liveupdate/kexec_handover.c |  22 ++
 kernel/liveupdate/luo_core.c       |  16 +-
 kernel/liveupdate/luo_file.c       | 237 ++++++++++++--
 kernel/liveupdate/luo_flb.c        | 116 +++++--
 kernel/liveupdate/luo_internal.h   |  14 +-
 kernel/liveupdate/luo_session.c    | 500 ++++++++++++++++++++++++-----
 lib/tests/liveupdate.c             |   2 +
 mm/memfd_luo.c                     | 160 +++++++--
 11 files changed, 934 insertions(+), 167 deletions(-)

-- 
2.53.0



More information about the kexec mailing list