| From aa3e802f5d804eb24935913aff84d8a9ade3f24b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 26 Mar 2024 23:38:02 +0100 |
| Subject: qed: avoid truncating work queue length |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ 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 | 9 ++++----- |
| 1 file changed, 4 insertions(+), 5 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c |
| index c278f8893042b..8159b4c315b5d 100644 |
| --- a/drivers/net/ethernet/qlogic/qed/qed_main.c |
| +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c |
| @@ -1206,7 +1206,6 @@ static void qed_slowpath_task(struct work_struct *work) |
| 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; |
| -- |
| 2.43.0 |
| |