]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
qed: avoid truncating work queue length
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 Mar 2024 22:38:02 +0000 (23:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:49:07 +0000 (09:49 +0200)
[ Upstream commit 954fd908f177604d4cce77e2a88cc50b29bad5ff ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/qlogic/qed/qed_main.c

index c278f8893042b3a88466452cd205348aebac609c..8159b4c315b5d8f9dc8dbeedd2f939260ec9861a 100644 (file)
@@ -1206,7 +1206,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))
@@ -1215,11 +1214,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;