summaryrefslogtreecommitdiff
path: root/kernel/liveupdate
diff options
context:
space:
mode:
authorJackie Liu <liuyun01@kylinos.cn>2026-07-16 09:26:07 +0800
committerMike Rapoport (Microsoft) <rppt@kernel.org>2026-07-25 15:26:30 +0300
commit05cf3d87a0bf23e328a7f7db488860fe14acc335 (patch)
tree5872b5f514b0844ef7426293e8f5dc87ed091f25 /kernel/liveupdate
parent797fe91e50d6927f90f0c3b4444277c2c7c8b42b (diff)
downloadlinux-next-05cf3d87a0bf23e328a7f7db488860fe14acc335.tar.gz
linux-next-05cf3d87a0bf23e328a7f7db488860fe14acc335.zip
liveupdate: reject nonzero reserved value for SESSION_FINISH
The UAPI documents liveupdate_session_finish::reserved as requiring zero, but luo_session_finish() currently ignores it and finishes the session. Accepting nonzero values prevents the field from being safely repurposed by a future extension. Reject nonzero reserved values before changing session state, matching LIVEUPDATE_SESSION_GET_NAME. Fixes: 16cec0d26521 ("liveupdate: luo_session: add ioctls for file preservation") Assisted-by: Codex:gpt-5.6-sol Reviewed-by: Pratyush Yadav (Google) <pratyush@kernel.org> Signed-off-by: Jackie Liu <liuyun01@kylinos.cn> Link: https://patch.msgid.link/20260716012607.22020-2-liu.yun@linux.dev Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Diffstat (limited to 'kernel/liveupdate')
-rw-r--r--kernel/liveupdate/luo_session.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_session.c
index f38b5b18f3f8..b4a9f55c4498 100644
--- a/kernel/liveupdate/luo_session.c
+++ b/kernel/liveupdate/luo_session.c
@@ -316,8 +316,12 @@ static int luo_session_finish(struct luo_session *session,
struct luo_ucmd *ucmd)
{
struct liveupdate_session_finish *argp = ucmd->cmd;
- int err = luo_session_finish_one(session);
+ int err;
+
+ if (argp->reserved)
+ return -EINVAL;
+ err = luo_session_finish_one(session);
if (err)
return err;