[PATCH v1 0/3] liveupdate: serialization safety and race fixes

Pasha Tatashin pasha.tatashin at soleen.com
Tue May 5 21:32:01 PDT 2026


This series addresses several issues related to the synchronization between
the reboot process and LUO session management.

1. Skip serialization for context-preserving kexec:
   A preserve_context kexec returns to the current kernel, which is
   unrelated to live update where state is passed to the next kernel.
   Skipping serialization avoids unnecessary work and prevents sessions
   from being left in a frozen state upon return.

2. Block session mutations during serialization:
   Once serialization has started, no new outgoing session mutations
   (creations or file preservations) should occur. A 'rebooting' flag
   is introduced to ensure this.

3. Pin sessions and handle inactive ones:
   Ensures that outgoing sessions are pinned by taking a reference to
   their struct file during serialization. This prevents race conditions
   where a user process might close a session while it is being
   serialized. Inactive sessions are cleaned up and removed.

Tree: git.kernel.org/pub/scm/linux/kernel/git/tatashin/linux.git
Branch: luo-reboot-sync/v1

Pasha Tatashin (3):
  liveupdate: skip serialization for context-preserving kexec
  liveupdate: block outgoing session mutations during serialization
  liveupdate: pin sessions and handle inactive ones during serialization

 kernel/kexec_core.c              |  8 +--
 kernel/liveupdate/luo_internal.h |  1 +
 kernel/liveupdate/luo_session.c  | 90 ++++++++++++++++++++++++++++++--
 3 files changed, 91 insertions(+), 8 deletions(-)


base-commit: 7b0b68b2b95606e65594958686833e53423f58f2
-- 
2.54.0.545.g6539524ca2-goog




More information about the kexec mailing list