]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: txgbe: Pass string literal as format argument of alloc_workqueue()
authorSimon Horman <horms@kernel.org>
Mon, 14 Oct 2024 08:52:26 +0000 (09:52 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Oct 2024 17:55:09 +0000 (10:55 -0700)
Recently I noticed that both gcc-14 and clang-18 report that passing
a non-string literal as the format argument of clkdev_create()
is potentially insecure.

E.g. clang-18 says:

.../txgbe_phy.c:582:35: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
  581 |         clock = clkdev_create(clk, NULL, clk_name);
      |                                          ^~~~~~~~
.../txgbe_phy.c:582:35: note: treat the string as an argument to avoid this
  581 |         clock = clkdev_create(clk, NULL, clk_name);
      |                                          ^
      |                                          "%s",

It is always the case where the contents of clk_name is safe to pass as the
format argument. That is, in my understanding, it never contains any
format escape sequences.

However, it seems better to be safe than sorry. And, as a bonus, compiler
output becomes less verbose by addressing this issue as suggested by
clang-18.

Compile tested only.

Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241014-string-thing-v2-2-b9b29625060a@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c

index 3dd89dafe7c740f0c61b34e365c16eb5505efb28..a0e4920b4761c83ae3409d6681ca6b19f2609749 100644 (file)
@@ -578,7 +578,7 @@ static int txgbe_clock_register(struct txgbe *txgbe)
        if (IS_ERR(clk))
                return PTR_ERR(clk);
 
-       clock = clkdev_create(clk, NULL, clk_name);
+       clock = clkdev_create(clk, NULL, "%s", clk_name);
        if (!clock) {
                clk_unregister(clk);
                return -ENOMEM;