lkml.org 
[lkml]   [2021]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectre: octeontx2-af: Introduce internal packet switching
Date
Hi,

Static analysis of linux-next with Coverity has found a couple of
uninitialized variable issues in the following commit:

commit 23109f8dd06d0bd04c9360cf7c501c97b0ab1545
Author: Subbaraya Sundeep <sbhatta@marvell.com>
Date: Mon Jul 19 14:29:34 2021 +0530

octeontx2-af: Introduce internal packet switching

The analysis is as follows:

195void rvu_switch_disable(struct rvu *rvu)
196{
197 struct npc_delete_flow_req uninstall_req = { 0 };
198 struct npc_mcam_free_entry_req free_req = { 0 };
199 struct rvu_switch *rswitch = &rvu->rswitch;
200 struct rvu_hwinfo *hw = rvu->hw;

1. var_decl: Declaring variable numvfs without initializer.

201 int pf, vf, numvfs, hwvf;
202 struct msg_rsp rsp;
203 u16 pcifunc;
204 int err;
205

2. Condition !rswitch->used_entries, taking false branch.

206 if (!rswitch->used_entries)
207 return;
208

3. Condition pf < hw->total_pfs, taking true branch.

209 for (pf = 1; pf < hw->total_pfs; pf++) {

4. Condition !is_pf_cgxmapped(rvu, pf), taking false branch.

210 if (!is_pf_cgxmapped(rvu, pf))
211 continue;
212
213 pcifunc = pf << 10;
214 err = rvu_switch_install_rx_rule(rvu, pcifunc, 0xFFF);

5. Condition err, taking false branch.

215 if (err)
216 dev_err(rvu->dev,
217 "Reverting RX rule for PF%d
failed(%d)\n",
218 pf, err);
219

Uninitialized scalar variable (UNINIT)
6. uninit_use: Using uninitialized value numvfs.

Uninitialized scalar variable (UNINIT)
9. uninit_use: Using uninitialized value hwvf.

220 for (vf = 0; vf < numvfs; vf++, hwvf++) {
221 pcifunc = pf << 10 | ((vf + 1) & 0x3FF);
222 err = rvu_switch_install_rx_rule(rvu,
pcifunc, 0xFFF);

7. Condition err, taking false branch.

223 if (err)
224 dev_err(rvu->dev,
225 "Reverting RX rule for
PF%dVF%d failed(%d)\n",
226 pf, vf, err);
227 }

8. Jumping back to the beginning of the loop.

228 }
229
230 uninstall_req.start = rswitch->start_entry;
231 uninstall_req.end = rswitch->start_entry +
rswitch->used_entries - 1;
232 free_req.all = 1;
233 rvu_mbox_handler_npc_delete_flow(rvu, &uninstall_req, &rsp);
234 rvu_mbox_handler_npc_mcam_free_entry(rvu, &free_req, &rsp);
235 rswitch->used_entries = 0;
236 kfree(rswitch->entry2pcifunc);
237}

Colin

\
 
 \ /
  Last update: 2021-07-22 20:48    [W:0.023 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site