[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <DM6PR18MB260244467263DDD91ECF0D9FCD899@DM6PR18MB2602.namprd18.prod.outlook.com>
Date: Sun, 14 Feb 2021 03:33:24 +0000
From: Geethasowjanya Akula <gakula@...vell.com>
To: "Gustavo A. R. Silva" <gustavoars@...nel.org>,
Sunil Kovvuri Goutham <sgoutham@...vell.com>,
Linu Cherian <lcherian@...vell.com>,
"Jerin Jacob Kollanukkaran" <jerinj@...vell.com>,
Hariprasad Kelam <hkelam@...vell.com>,
Subbaraya Sundeep Bhatta <sbhatta@...vell.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [EXT] [bug report] octeontx2-af: cn10k: Uninitialized variables
Hi Gustavo,
please see inline.
Thank you,
Geetha.
________________________________________
>From: Gustavo A. R. Silva <gustavoars@...nel.org>
>Sent: Saturday, February 13, 2021 12:09 AM
>To: Sunil Kovvuri Goutham; Linu Cherian; Geethasowjanya Akula; Jerin Jacob >Kollanukkaran; Hariprasad Kelam; Subbaraya Sundeep Bhatta; David S. Miller; Jakub >Kicinski
>Cc: netdev@...r.kernel.org; linux-kernel@...r.kernel.org; Gustavo A. R. Silva
>Subject: [EXT] [bug report] octeontx2-af: cn10k: Uninitialized variables
>External Email
----------------------------------------------------------------------
>Hi,
>Variables cgx_id and lmac_id are being used uninitialized at lines 731
>and 733 in the following function:
>723 static int rvu_cgx_config_intlbk(struct rvu *rvu, u16 pcifunc, bool en)
>724 {
>725 struct mac_ops *mac_ops;
>726 u8 cgx_id, lmac_id;
>727
>728 if (!is_cgx_config_permitted(rvu, pcifunc))
>729 return -EPERM;
>730
>731 mac_ops = get_mac_ops(rvu_cgx_pdata(cgx_id, rvu));
>732
>733 return mac_ops->mac_lmac_intl_lbk(rvu_cgx_pdata(cgx_id, rvu),
>734 lmac_id, en);
735 }
>This bug was introduced by commit 3ad3f8f93c81 ("octeontx2-af: cn10k: MAC internal >loopback support")
>What's the right solution for this?
Thanks Gustavo. Sorry I missed it. Below is the fix.
static int rvu_cgx_config_intlbk(struct rvu *rvu, u16 pcifunc, bool en)
{
+ int pf = rvu_get_pf(pcifunc);
struct mac_ops *mac_ops;
u8 cgx_id, lmac_id;
if (!is_cgx_config_permitted(rvu, pcifunc))
return -EPERM;
+ rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id);
mac_ops = get_mac_ops(rvu_cgx_pdata(cgx_id, rvu));
Thanks
--
Gustavo
Powered by blists - more mailing lists