>-----Original Message----- >From: Dan Carpenter <dan.carpenter@xxxxxxxxxx> >Sent: Wednesday, July 13, 2022 5:02 PM >To: Ratheesh Kannoth <rkannoth@xxxxxxxxxxx> >Cc: kernel-janitors@xxxxxxxxxxxxxxx >Subject: [EXT] [bug report] octeontx2-af: Drop rules for NPC MCAM >External Email ---------------------------------------------------------------------- >Hello Ratheesh Kannoth, >The patch 3571fe07a090: "octeontx2-af: Drop rules for NPC MCAM" from Jul 8, 2022, leads to the following Smatch static checker warning: Dan, Thanks !! I tried to run smatch tool and could not see any of these errors ? Am I missing any step ? === ./smatch-master/smatch_scripts/kchecker drivers/net/ethernet/marvell/octeontx2/ CHECK drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c CC drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.o CHECK drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c AR drivers/net/ethernet/marvell/octeontx2/af/built-in.a CHECK drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c CHECK drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c ==== >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1964 rvu_npc_exact_init() >error: uninitialized symbol 'err'. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c > 1953 > 1954 dev_dbg(rvu->dev, > 1955 "%s:Drop rule cgx=%d lmac=%d chan(val=0x%llx, mask=0x%llx\n", > 1956 __func__, cgx_id, lmac_id, chan_val, chan_mask); > 1957 > 1958 rc = rvu_npc_exact_save_drop_rule_chan_and_mask(rvu, table->num_drop_rules, > 1959 chan_val, chan_mask, pcifunc); > 1960 if (!rc) { > 1961 dev_err(rvu->dev, > 1962 "%s: failed to set drop info for cgx=%d, lmac=%d, chan=%llx\n", > 1963 __func__, cgx_id, lmac_id, chan_val); --> 1964 return err; >"err" is uninitialized. This should be return -EINVAL or something. Fixed by 6a605eb1d71ea8cec50bdf7151c772c599a5fb70 commit. >Let me just send the whole list. The rest are mostly caused by no error checking. It's possibly deliberate. Hard to tell without knowing the subsystem more deeply. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1232 rvu_npc_exact_del_table_entry_by_id() error: uninitialized symbol 'drop_mcam_idx'. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1312 rvu_npc_exact_add_table_entry() error: uninitialized symbol 'drop_mcam_idx'. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1391 rvu_npc_exact_update_table_entry() error: uninitialized symbol 'hash_index'. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1428 rvu_npc_exact_promisc_disable() error: uninitialized symbol 'drop_mcam_idx'. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1473 rvu_npc_exact_promisc_enable() error: uninitialized symbol 'drop_mcam_idx'. Will fix and post patch. >drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c:1964 rvu_npc_exact_init() error: uninitialized symbol 'err'. Fixed by 6a605eb1d71ea8cec50bdf7151c772c599a5fb70 commit. >drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:735 otx2_mbox_alloc_msg_npc_get_secret_key() warn: struct type mismatch 'mbox_msghdr vs npc_get_secret_key_req' I don't see any issue in the code. >drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c:191 otx2_dmacflt_update() error: 'rsp' dereferencing possible ERR_PTR() >drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c:60 otx2_dmacflt_add_pfmac() error: 'rsp' dereferencing possible ERR_PTR() Fixed. Will post new patch. 1965 } 1966 1967 err = npc_install_mcam_drop_rule(rvu, *drop_mcam_idx, 1968 &table->counter_idx[*drop_mcam_idx], 1969 chan_val, chan_mask, 1970 exact_val, exact_mask, 1971 bcast_mcast_val, bcast_mcast_mask); 1972 if (err) { 1973 dev_err(rvu->dev, 1974 "failed to configure drop rule (cgx=%d lmac=%d)\n", 1975 cgx_id, lmac_id); 1976 return err; 1977 } 1978 1979 (*drop_mcam_idx)++; 1980 } 1981 1982 dev_info(rvu->dev, "initialized exact match table successfully\n"); 1983 return 0; 1984 } regards, dan carpenter