Re:Re: [EXT] [PATCH v3] octeontx2-af: Fix missing check bugs in rvu_cgx.c
From: Yingjie Wang <hidden>
Date: 2021-01-15 22:05:37
Also in:
lkml
Thanks for your reply. I have resended the email with the Reviewed-by tag. At 2021-01-15 18:58:49, "Geethasowjanya Akula" [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The changes look good to me. You can add: Reviewed-by: Geetha sowjanya<gakula@marvell.com> ________________________________________ From: wangyingjie55@126.com <redacted> Sent: Thursday, January 14, 2021 11:00 AM To: davem@davemloft.net; kuba@kernel.org; Vidhya Vidhyaraman; Stanislaw Kardach [C] Cc: Sunil Kovvuri Goutham; Linu Cherian; Geethasowjanya Akula; Jerin Jacob Kollanukkaran; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Yingjie Wang Subject: [EXT] [PATCH v3] octeontx2-af: Fix missing check bugs in rvu_cgx.c External Email ---------------------------------------------------------------------- From: Yingjie Wang <redacted> In rvu_mbox_handler_cgx_mac_addr_get() and rvu_mbox_handler_cgx_mac_addr_set(), the msg is expected only from PFs that are mapped to CGX LMACs. It should be checked before mapping, so we add the is_cgx_config_permitted() in the functions. Fixes: 96be2e0da85e ("octeontx2-af: Support for MAC address filters in CGX") Signed-off-by: Yingjie Wang <redacted> --- drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c index d298b9357177..6c6b411e78fd 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c@@ -469,6 +469,9 @@ int rvu_mbox_handler_cgx_mac_addr_set(struct rvu *rvu, int pf = rvu_get_pf(req->hdr.pcifunc); u8 cgx_id, lmac_id; + if (!is_cgx_config_permitted(rvu, req->hdr.pcifunc)) + return -EPERM; + rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); cgx_lmac_addr_set(cgx_id, lmac_id, req->mac_addr);@@ -485,6 +488,9 @@ int rvu_mbox_handler_cgx_mac_addr_get(struct rvu *rvu, int rc = 0, i; u64 cfg; + if (!is_cgx_config_permitted(rvu, req->hdr.pcifunc)) + return -EPERM; + rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, &lmac_id); rsp->hdr.rc = rc; --2.7.4