kdb: address -Wformat-security warnings
authorArnd Bergmann <arnd@arndb.de>
Tue, 28 May 2024 12:11:48 +0000 (14:11 +0200)
committerDaniel Thompson <daniel.thompson@linaro.org>
Fri, 21 Jun 2024 13:33:17 +0000 (14:33 +0100)
When -Wformat-security is not disabled, using a string pointer
as a format causes a warning:

kernel/debug/kdb/kdb_io.c: In function 'kdb_read':
kernel/debug/kdb/kdb_io.c:365:36: error: format not a string literal and no format arguments [-Werror=format-security]
  365 |                         kdb_printf(kdb_prompt_str);
      |                                    ^~~~~~~~~~~~~~
kernel/debug/kdb/kdb_io.c: In function 'kdb_getstr':
kernel/debug/kdb/kdb_io.c:456:20: error: format not a string literal and no format arguments [-Werror=format-security]
  456 |         kdb_printf(kdb_prompt_str);
      |                    ^~~~~~~~~~~~~~

Use an explcit "%s" format instead.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 5d5314d6795f ("kdb: core for kgdb back end (1 of 2)")
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240528121154.3662553-1-arnd@kernel.org
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
kernel/debug/kdb/kdb_io.c

index 3131334d7a81ca4b382512e1302ed9dbf9f403a5..7da3fa7beffd0aa3efa0e07443e06cd830b9840b 100644 (file)
@@ -362,7 +362,7 @@ poll_again:
                        if (i >= dtab_count)
                                kdb_printf("...");
                        kdb_printf("\n");
-                       kdb_printf(kdb_prompt_str);
+                       kdb_printf("%s",  kdb_prompt_str);
                        kdb_printf("%s", buffer);
                        if (cp != lastchar)
                                kdb_position_cursor(kdb_prompt_str, buffer, cp);
@@ -453,7 +453,7 @@ char *kdb_getstr(char *buffer, size_t bufsize, const char *prompt)
 {
        if (prompt && kdb_prompt_str != prompt)
                strscpy(kdb_prompt_str, prompt, CMD_BUFLEN);
-       kdb_printf(kdb_prompt_str);
+       kdb_printf("%s", kdb_prompt_str);
        kdb_nextline = 1;       /* Prompt and input resets line number */
        return kdb_read(buffer, bufsize);
 }