From: Jackie Liu <[email protected]>

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
Signed-off-by: Jackie Liu <[email protected]>
---
 kernel/liveupdate/luo_session.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_session.c
index f38b5b18f3f8..15342c0783b5 100644
--- a/kernel/liveupdate/luo_session.c
+++ b/kernel/liveupdate/luo_session.c
@@ -316,7 +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;
-- 
2.54.0


Reply via email to