qed: avoid truncating work queue length
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 Mar 2024 22:38:02 +0000 (23:38 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 29 Mar 2024 19:22:28 +0000 (12:22 -0700)
clang complains that the temporary string for the name passed into
alloc_workqueue() is too short for its contents:

drivers/net/ethernet/qlogic/qed/qed_main.c:1218:3: error: 'snprintf' will always be truncated; specified size is 16, but format string expands to at least 18 [-Werror,-Wformat-truncation]

There is no need for a temporary buffer, and the actual name of a workqueue
is 32 bytes (WQ_NAME_LEN), so just use the interface as intended to avoid
the truncation.

Fixes: 59ccf86fe69a ("qed: Add driver infrastucture for handling mfw requests.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240326223825.4084412-4-arnd@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/qlogic/qed/qed_main.c

index 408da4312e0180be8a5e6f69bae14f1accd50bdf..17f284e9f06d3836ca2e8ca198caaa4cf0e7e6bb 100644 (file)
@@ -1205,7 +1205,6 @@ out:
 static int qed_slowpath_wq_start(struct qed_dev *cdev)
 {
        struct qed_hwfn *hwfn;
-       char name[NAME_SIZE];
        int i;
 
        if (IS_VF(cdev))
@@ -1214,11 +1213,11 @@ static int qed_slowpath_wq_start(struct qed_dev *cdev)
        for_each_hwfn(cdev, i) {
                hwfn = &cdev->hwfns[i];
 
-               snprintf(name, NAME_SIZE, "slowpath-%02x:%02x.%02x",
-                        cdev->pdev->bus->number,
-                        PCI_SLOT(cdev->pdev->devfn), hwfn->abs_pf_id);
+               hwfn->slowpath_wq = alloc_workqueue("slowpath-%02x:%02x.%02x",
+                                        0, 0, cdev->pdev->bus->number,
+                                        PCI_SLOT(cdev->pdev->devfn),
+                                        hwfn->abs_pf_id);
 
-               hwfn->slowpath_wq = alloc_workqueue(name, 0, 0);
                if (!hwfn->slowpath_wq) {
                        DP_NOTICE(hwfn, "Cannot create slowpath workqueue\n");
                        return -ENOMEM;