]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe: replace format-less snprintf() with strscpy()
authorArnd Bergmann <arnd@arndb.de>
Tue, 28 May 2024 13:32:36 +0000 (15:32 +0200)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 30 May 2024 16:57:26 +0000 (18:57 +0200)
Using snprintf() with a format string from task->comm is a bit
dangerous since the string may be controlled by unprivileged
userspace:

drivers/gpu/drm/xe/xe_devcoredump.c: In function 'devcoredump_snapshot':
drivers/gpu/drm/xe/xe_devcoredump.c:184:9: error: format not a string literal and no format arguments [-Werror=format-security]
  184 |         snprintf(ss->process_name, sizeof(ss->process_name), process_name);
      |         ^~~~~~~~

In this case there is no reason for an snprintf(), so use a simpler
string copy.

Fixes: b10d0c5e9df7 ("drm/xe: Add process name to devcoredump")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240528133251.2310868-1-arnd@kernel.org
drivers/gpu/drm/xe/xe_devcoredump.c

index 1643d44f8bc423f758bd965df4a3b4dc1f357078..1973bfaece40db3d8a55391ad7ef02d76781b2c2 100644 (file)
@@ -181,7 +181,7 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
                if (task)
                        process_name = task->comm;
        }
-       snprintf(ss->process_name, sizeof(ss->process_name), process_name);
+       strscpy(ss->process_name, process_name);
        if (task)
                put_task_struct(task);