aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2019-11-21 12:21:46 +0300
committerDavid S. Miller <davem@davemloft.net>2019-11-21 11:42:19 -0800
commit0617aa988dacb9d8c1cb42fbb6c79896c7507e08 (patch)
tree650ff162585032e222ff9fa91a7e05d10d87eda1
parentvsock: avoid to assign transport if its initialization fails (diff)
downloadlinux-dev-0617aa988dacb9d8c1cb42fbb6c79896c7507e08.tar.xz
linux-dev-0617aa988dacb9d8c1cb42fbb6c79896c7507e08.zip
octeontx2-af: Fix uninitialized variable in debugfs
If rvu_get_blkaddr() fails, then this rvu_cgx_nix_cuml_stats() returns zero and we write some uninitialized data into the debugfs output. On the error paths, the use of the uninitialized "*stat" is harmless, but it will lead to a Smatch warning (static analysis) and a UBSan warning (runtime analysis) so we should prevent that as well. Fixes: f967488d095e ("octeontx2-af: Add per CGX port level NIX Rx/Tx counters") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
index 0bbb2eb1446e..11e5921c55b9 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
@@ -608,6 +608,8 @@ int rvu_cgx_nix_cuml_stats(struct rvu *rvu, void *cgxd, int lmac_id,
u16 pcifunc;
int pf, lf;
+ *stat = 0;
+
if (!cgxd || !rvu)
return -EINVAL;
@@ -624,7 +626,6 @@ int rvu_cgx_nix_cuml_stats(struct rvu *rvu, void *cgxd, int lmac_id,
return 0;
block = &rvu->hw->block[blkaddr];
- *stat = 0;
for (lf = 0; lf < block->lf.max; lf++) {
/* Check if a lf is attached to this PF or one of its VFs */
if (!((block->fn_map[lf] & ~RVU_PFVF_FUNC_MASK) == (pcifunc &