[PATCH v8 0/6] liveupdate: new ioctl, change session inode type, bug fixes
From: luca . boccassi
Date: Sat Apr 18 2026 - 12:35:34 EST
From: Luca Boccassi <luca.boccassi@xxxxxxxxx>
A series of patches matured while implementing LUO support in userspace
in systemd.
- reject session names that are either empty strings or too long
- change inode type of session FDs to a new singleton magic number,
so that userspace can immediately identify them without string
parsing in procfs
- add new ioctl to retrieve session name from FD, so that userspace
can query it without string parsing in procfs
All changes come with a follow-up patch add test coverage via the
existing selftest.
v2: apply one fix from bot review about cleanup on error path:
https://sashiko.dev/#/patchset/20260415184536.1155220-1-luca.boccassi%40gmail.com
the other comments are invalid: luo is not a kmod, and the write hooks are not set up
v3: add test case to liveupdate selftest
v4: split test case in separate follow-up patch
v5: add r-b tag, merge series with LIVEUPDATE_SESSION_GET_NAME ioctl
as they both change the same unit test source file, to avoid merge conflicts
add '__u32 reserved' to the UAPI struct
v6: add more test cases as suggested
more verbose commit message
fix docstring
v7: apply suggestion from review bot to stub out setattr ops,
like it was done in 22bdf3d6581a
v8: add new patches to reject session names that are empty or too long
Luca Boccassi (6):
liveupdate: reject LIVEUPDATE_IOCTL_CREATE_SESSION with invalid name
length
selftests/liveupdate: add test cases for
LIVEUPDATE_IOCTL_CREATE_SESSION calls with invalid length
liveupdate: add LUO_SESSION_MAGIC magic inode type
selftests/liveupdate: add test case for LUO_SESSION_MAGIC
liveupdate: add LIVEUPDATE_SESSION_GET_NAME ioctl
selftests/liveupdate: add test cases for LIVEUPDATE_SESSION_GET_NAME
include/uapi/linux/liveupdate.h | 21 +++
include/uapi/linux/magic.h | 1 +
kernel/liveupdate/luo_core.c | 10 +-
kernel/liveupdate/luo_internal.h | 2 +
kernel/liveupdate/luo_session.c | 106 +++++++++++-
.../testing/selftests/liveupdate/liveupdate.c | 153 ++++++++++++++++++
6 files changed, 287 insertions(+), 6 deletions(-)
--
2.47.3