Re: Question about obtaining LUO session FD for non-systemd-managed service

From: Luca Boccassi

Date: Sat Oct 10 2026 - 09:09:18 EST


On Sat, 10 Oct 2026 at 04:11, Chenghao Duan <duanchenghao@xxxxxxxxxx> wrote:
>
> Hi Luca,
>
> I watched your excellent presentation from the LPC conference in Prague.
>
> I have a question I’d like to consult with you.
>
> I am currently working on the `memfd_luo` feature in CRIU. My goal is to
> leverage the LUO capability to store checkpoint images inside memfds.
> After a kexec reboot, the image data will be retrieved directly from
> memory instead of from disk.
>
> Here is my pull request on the CRIU GitHub repository:
> https://github.com/checkpoint-restore/criu/pull/3152
>
> In the PR discussion, avagin suggested using systemd as the CRIU daemon
> to centrally manage LUO sessions and access to `/dev/liveupdate`. I have
> watched your talk and read parts of the systemd source code.
>
> From my understanding, systemd currently provides a unit‑based solution
> where child processes can inherit LUO session file descriptors. However,
> this approach requires the target service to run as a child of a systemd
> unit. As far as I know, CRIU does not run as a systemd‑managed service.
>
> So my question is: for services such as CRIU that are **not systemd‑managed
> child services**, how can they obtain LUO‑session‑related file descriptors
> managed by systemd?
>
> Thank you very much for reading this email. My knowledge of systemd is still
> limited, so please feel free to correct me if I have misunderstood anything.
>
> Thanks & best regards,
> Chenghao Duan <duanchenghao@xxxxxxxxxx>

Hi,

At some point up in the stack, everything runs as a systemd unit, so
it's only a question of figuring out in your setup how to pass the
FD(s) up and down the stack.