[bug report] octeontx2-af: cn10k: Uninitialized variables

2 messages, 2 authors, 2021-02-14 · open the first message on its own page

[bug report] octeontx2-af: cn10k: Uninitialized variables

From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Date: 2021-02-12 18:40:22

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

Re: [EXT] [bug report] octeontx2-af: cn10k: Uninitialized variables

From: Geethasowjanya Akula <gakula@marvell.com>
Date: 2021-02-14 03:35:54

Hi Gustavo,

please see inline.

Thank you,
Geetha.


________________________________________
From: Gustavo A. R. Silva <gustavoars@kernel.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@vger.kernel.org; linux-kernel@vger.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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help