]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
liveupdate: reject LIVEUPDATE_IOCTL_CREATE_SESSION with invalid name length
authorLuca Boccassi <luca.boccassi@gmail.com>
Wed, 29 Apr 2026 21:21:14 +0000 (22:21 +0100)
committerMike Rapoport (Microsoft) <rppt@kernel.org>
Sun, 31 May 2026 23:31:37 +0000 (02:31 +0300)
A session name must not be an empty string, and must not exceed the
maximum size define in the uapi header, including null termination.

Fixes: 0153094d03df ("liveupdate: luo_session: add sessions support")
Cc: stable@vger.kernel.org
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Link: https://lore.kernel.org/r/20260429212221.814107-2-luca.boccassi@gmail.com
Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
kernel/liveupdate/luo_session.c

index 7a42385dabe27989c6904cbbd6fa5ee6ac9ed82e..ec7aebc15a8016ad2ac7af80a0b12e7e6aae14fe 100644 (file)
@@ -382,9 +382,13 @@ static int luo_session_getfile(struct luo_session *session, struct file **filep)
 
 int luo_session_create(const char *name, struct file **filep)
 {
+       size_t len = strnlen(name, LIVEUPDATE_SESSION_NAME_LENGTH);
        struct luo_session *session;
        int err;
 
+       if (len == 0 || len > LIVEUPDATE_SESSION_NAME_LENGTH - 1)
+               return -EINVAL;
+
        session = luo_session_alloc(name);
        if (IS_ERR(session))
                return PTR_ERR(session);