diff options
author | Alexander Lobakin <alobakin@marvell.com> | 2020-07-27 14:51:33 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-07-27 22:17:14 +0300 |
commit | 1775da47c34a520108bea02dd4cbc21ee2e1b6c2 (patch) | |
tree | 2c955e8340f0b2b309a7b64df9fd5d012a905680 /net/hsr/hsr_device.h | |
parent | 43e7a0e5adacf1c31cf1dc63fe32b2665a6ebffd (diff) | |
download | linux-1775da47c34a520108bea02dd4cbc21ee2e1b6c2.tar.xz |
qed: fix the allocation of the chains with an external PBL
Dan reports static checker warning:
"The patch 9b6ee3cf95d3: "qed: sanitize PBL chains allocation" from Jul
23, 2020, leads to the following static checker warning:
drivers/net/ethernet/qlogic/qed/qed_chain.c:299 qed_chain_alloc_pbl()
error: uninitialized symbol 'pbl_virt'.
drivers/net/ethernet/qlogic/qed/qed_chain.c
249 static int qed_chain_alloc_pbl(struct qed_dev *cdev, struct qed_chain *chain)
250 {
251 struct device *dev = &cdev->pdev->dev;
252 struct addr_tbl_entry *addr_tbl;
253 dma_addr_t phys, pbl_phys;
254 __le64 *pbl_virt;
^^^^^^^^^^^^^^^^
[...]
271 if (chain->b_external_pbl)
272 goto alloc_pages;
^^^^^^^^^^^^^^^^ uninitialized
[...]
298 /* Fill the PBL table with the physical address of the page */
299 pbl_virt[i] = cpu_to_le64(phys);
^^^^^^^^^^^
[...]
"
This issue was introduced with commit c3a321b06a80 ("qed: simplify
initialization of the chains with an external PBL"), when
chain->pbl_sp.table_virt initialization was moved up to
qed_chain_init_params().
Fix it by initializing pbl_virt with an already filled chain struct field.
Fixes: c3a321b06a80 ("qed: simplify initialization of the chains with an external PBL")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alexander Lobakin <alobakin@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/hsr/hsr_device.h')
0 files changed, 0 insertions, 0 deletions