All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] liveupdate: fix GET_NAME ioctl argument validation
@ 2026-07-16  1:26 Jackie Liu
  2026-07-16  1:26 ` [PATCH v2 2/2] liveupdate: reject nonzero reserved value for SESSION_FINISH Jackie Liu
  2026-07-16 10:08 ` [PATCH v2 1/2] liveupdate: fix GET_NAME ioctl argument validation Mike Rapoport
  0 siblings, 2 replies; 3+ messages in thread
From: Jackie Liu @ 2026-07-16  1:26 UTC (permalink / raw)
  To: pratyush; +Cc: pasha.tatashin, rppt, kpm, kexec, linux-kernel

From: Jackie Liu <liuyun01@kylinos.cn>

LIVEUPDATE_SESSION_GET_NAME was developed in the liveupdate/next branch
while the session type validation change was carried in liveupdate-fixes.
When the conflict between the two branches was resolved, the GET_NAME
operation descriptor picked up the structure and last member from
RETRIEVE_FD.

This makes both its known size and minimum size 16 bytes rather than 72.
A zero-initialized request still succeeds because luo_session_get_name()
writes the full name before luo_ucmd_respond() copies the full GET_NAME
response to userspace. However, copy_struct_from_user() treats the
output-only name field as unknown trailing data and rejects the request
with -E2BIG if any byte in that field is nonzero.

Use the GET_NAME structure and its name field in the descriptor.

Link: https://lore.kernel.org/all/ahWlYXNjGUbkKoHy@sirena.org.uk/
Assisted-by: Codex:gpt-5.6-sol
Reviewed-by: Pratyush Yadav (Google) <pratyush@kernel.org>
Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
---
 kernel/liveupdate/luo_session.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_session.c
index b79b2a488974..f38b5b18f3f8 100644
--- a/kernel/liveupdate/luo_session.c
+++ b/kernel/liveupdate/luo_session.c
@@ -378,7 +378,7 @@ static const struct luo_ioctl_op luo_session_ioctl_ops[] = {
 	IOCTL_OP(LIVEUPDATE_SESSION_RETRIEVE_FD, luo_session_retrieve_fd,
 		 struct liveupdate_session_retrieve_fd, token, LUO_IOCTL_INCOMING),
 	IOCTL_OP(LIVEUPDATE_SESSION_GET_NAME, luo_session_get_name,
-		 struct liveupdate_session_retrieve_fd, token, LUO_IOCTL_ALL),
+		 struct liveupdate_session_get_name, name, LUO_IOCTL_ALL),
 };
 
 static bool luo_ioctl_type_valid(struct luo_session *session,
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-16 10:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-16  1:26 [PATCH v2 1/2] liveupdate: fix GET_NAME ioctl argument validation Jackie Liu
2026-07-16  1:26 ` [PATCH v2 2/2] liveupdate: reject nonzero reserved value for SESSION_FINISH Jackie Liu
2026-07-16 10:08 ` [PATCH v2 1/2] liveupdate: fix GET_NAME ioctl argument validation Mike Rapoport

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.