From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74D293F1662 for ; Thu, 21 May 2026 17:57:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779386272; cv=none; b=dLoQkZzThYI6ftaoDRYeioQ8DMheMz7czLWXtvh6KtYXO1nSoPkgBkQFlCTUAqi1g9iW3vLOcRaEkv76i9HilOnla+c9VEh5BWlscf+eqHmViITK1pHq6c+n7AE3LDCRdg3ehQST8LFF1kYg52RGIgOzQ4owTQ5kb9d8tqKd5VA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779386272; c=relaxed/simple; bh=nf57RTY1ln6l0+LcN1nfGy2v1EcUXO9b4XtD5gs1P2M=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=qT7onztzpOd2u9Ocqq88L65N1Ppgm0oPSkYkCy4gFuumCrAwplv5FiWmP7XkG7ZNX9SKBCMkTXMKPBzjMeS9gbWBd5sU3f/OAV/gieoN+04LoCzMsm8KX2leeUmanA9cZc3vAliIZk8JEa0vzgjTGdGvcy4n9cw0ayx2ypaqC20= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=FGW3gc07; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="FGW3gc07" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-8cc715824a0so6351646d6.3 for ; Thu, 21 May 2026 10:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1779386269; x=1779991069; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=HSg+nGWk8GPf9iWHEueYvLqEM2Vxl0dwdaE30hzKrbQ=; b=FGW3gc07dEHaf7S5sTHZk+8IKbhKS/AuZaxbWgrnxCeohGJ7riU745bohdDhAdoJMc /rq2xwFYLcBrbx7x42cmK0iqbZdoujAipzk/DlX9ASvEwu3+AnnUDSiDPZaIbXtIrcCu iwaYOkyahquOC3je2VRQs8GJ7PSuv+bIJRlEYPqtS/KR+sogKKdgYW1eXI0FE/0nQLtS WgHswgM7Iwg+FD8+CjBoRcaV9f6iH651e7XyEFMBQFvMjerSizfUa3vF770DaU575NNY UYkwotEAEmnyAwZevvlLpsAsa9WHJIxzvbOL0BB+qMDVKiHqibWUnVoWcVX37taX8pTB A6YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779386269; x=1779991069; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HSg+nGWk8GPf9iWHEueYvLqEM2Vxl0dwdaE30hzKrbQ=; b=V/3G49ReXAUBvpHIIFQxKmVom6SpSoCSARRp+mdVH1fFDkJU68jIjvyDr08rYhE07f 6DXmMISWiF+A0NnDe3s9aErf2Hz0QDQduZ4mE6QuIuQo7+0T1qY+vj03Cr+rnV7x3XfJ T8up7+ZysMazLcBeQ6swpk874lcgtZmAfCjVxNoDHlZGQ4dxb7hDGiEcJn07C+MNo4Fu bOb2yoXSm6ERwe/Dwqz7yHT5Ql34skkovVlvm8XwdjpLflAznfULpFkhIulwOQ17oV82 uLwQpsZBysStVv95OXz8ODAi93NGeUhUN3+lIh5Bx1wn7h3/OwcJuSPLuEt6LKmKNmFL BlAg== X-Forwarded-Encrypted: i=1; AFNElJ8MGAW2OLwVqMix3cOZsDhJuRX+x3SvA5CyjfEx/JIq7bLv82JWrS1evsLuwCveiZcsvf927EYWuKGplNk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzi8/J+OCQzHEPD9bDUVz167Ty79qSN20kEsSSgdLj60Ivatzaw OtpnDUb5BkxPmvxN6zui9wuGkHOztiKjnXv0RkMk2giWPns845iqS2kteW5yZGq+gSc= X-Gm-Gg: Acq92OGpaIqwkyTJ0NvOgqCEuNxn3+BZTfEaJd84kf+3+EHW0QRM4f4KewG17BWb8sN uPjojmGtN/XFzDSHnMfJN/MUPJelVmb3EQ8slBFYmHHWQjS9NUYPmjG7iylc+HO77rcEpjD6ILk vnAPNyqpMwlqTXDofFpv4NS68rKKeHLRXiK1JbzxBv4yq0+rUNiChJBvwXj8LLzR1k1w6Mg8hsm vAmZ2VR9RC8yKy7sdEDECiJeXJ3yZgQRWa11c0ajH9cKTl3HCu3tSXQlJLaAWPmxN8zA8J7sstk LU2yIvUyjvquF42Z+O5LYXDjKMAT3hI3SwkUTafGzVAdVKb3bPFtWK7EKE/+qeK5RNaK5cD9/cz IoPEzC1P6/uXdAOFn0A1znHTNL0NIeWu2sbDzNXKmL22Oa9qHuEzCMmUa+cnGN5rkOhtA/VAYuC W6hhOtEeyhxq3Mi4wFTVDXbbDy1aTtPS5h8u4obFdSsxM0G42H6pg= X-Received: by 2002:a05:6214:501c:b0:8ba:b699:9e54 with SMTP id 6a1803df08f44-8cc7b5f1a7amr5338246d6.47.1779386269340; Thu, 21 May 2026 10:57:49 -0700 (PDT) Received: from plex ([71.181.43.54]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8cc781b3611sm13231686d6.26.2026.05.21.10.57.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 10:57:48 -0700 (PDT) Date: Thu, 21 May 2026 17:57:47 +0000 From: Pasha Tatashin To: luca.boccassi@gmail.com Cc: kexec@lists.infradead.org, linux-mm@kvack.org, pasha.tatashin@soleen.com, pratyush@kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] liveupdate: document systemd support Message-ID: References: <20260519152957.548119-1-luca.boccassi@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260519152957.548119-1-luca.boccassi@gmail.com> On 05-19 16:28, luca.boccassi@gmail.com wrote: > From: Luca Boccassi > > systemd v261 will add native support for LUO via the file descriptor > store mechanism. Add a brief paragraph in the LUO userspace documentation > page to inform users. > > Signed-off-by: Luca Boccassi > --- > NOTE: the external links will mention LUO after the next release is > published, which should happen within ~4 weeks > > Documentation/userspace-api/liveupdate.rst | 23 ++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/Documentation/userspace-api/liveupdate.rst b/Documentation/userspace-api/liveupdate.rst > index 41c0473e4f16..f6efc32fb40b 100644 > --- a/Documentation/userspace-api/liveupdate.rst > +++ b/Documentation/userspace-api/liveupdate.rst > @@ -14,6 +14,29 @@ ioctl uAPI > =========== > .. kernel-doc:: include/uapi/linux/liveupdate.h > > +Userspace Integration > +===================== > + > +systemd (since version v261) uses LUO to preserve its per-service file > +descriptor store across a kexec-based live update. Services opt in by setting > +``FileDescriptorStoreMax=`` and ``FileDescriptorStorePreserve=`` in their unit, > +and push file descriptors with a name into the store via > +``sd_pid_notify_with_fds(... "FDSTORE=1\nFDNAME=foo")``. > + > +Services may also create their own LUO sessions (via ``/dev/liveupdate``) and > +push the resulting session fds into their file descriptor store like any other > +fd. systemd detects such session fds and handles them accordingly, and > +hands the re-retrieved session fd back to the service after kexec, using the > +existing file descriptor store service interface. > + > +For details, see: > + > +- `File Descriptor Store `_ > +- `systemd.service(5) FileDescriptorStorePreserve= > + `_ > +- `sd_pid_notify_with_fds(3) > + `_ > + Reviewed-by: Pasha Tatashin > See Also > ======== > > -- > 2.47.3 >