v1
2026-09-02
liveupdate 支持恢复用户 fd · v1
新增 LIVEUPDATE_SESSION_RETRIEVE_INTO_FD UAPI,允许把保留的 tmpfs 文件恢复到用户提供的文件描述符,无需改 LUO ABI。
原始补丁链接
子 Patch(5)
1/5
liveupdate: Extract luo_file token lookup logic into helper function
将 luo_retrieve_file() 中基于 token 的列表遍历提取为辅助函数 luo_find_file_by_token(),供后续新增检索方式复用,无功能变化。
2/5
liveupdate: Introduce SESSION_RETRIEVE_INTO_FD API and core support
引入 LIVEUPDATE_CMD_SESSION_RETRIEVE_INTO_FD ioctl 与 .retrieve_into() 回调,支持用户传入空 fd 注入保留内存;当前仅搭好路由,未实现具体文件类型。
3/5
mm/memfd_luo: Implement retrieve_into callback for shmem folios
在 mm/memfd_luo 中实现 shmem/memfd 的 retrieve_into 回调,验证目标是空 shmem 文件后锁 inode,将 KHO folios 桥接到其地址空间。
4/5
mm/memfd_luo: Expand support beyond memfd to all generic shmem inodes
放宽 memfd_luo 保存路径的校验,允许所有通用 shmem 文件,不再要求 inode->i_nlink 为 0,使 path-backed tmpfs fd 也能用于 LUO 会话。
5/5
selftests: liveupdate: Add multi-session test coverage for session_retrieve_into
扩展 liveupdate 多会话测试,覆盖 SESSION_RETRIEVE_INTO_FD 路径:kexec Stage2 中通过新 API 将 folios 注入临时 tmpfs 目标,验证数据一致。