[PATCH] octeontx2-pf: handle otx2_mbox_get_rsp errors

Chenyuan Yang posted 1 patch 8 months, 1 week ago
There is a newer version of this series
drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] octeontx2-pf: handle otx2_mbox_get_rsp errors
Posted by Chenyuan Yang 8 months, 1 week ago
Adding error pointer check after calling otx2_mbox_get_rsp().

This is similar to the commit bd3110bc102a
("octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c").

Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
Fixes: 6c40ca957fe5 ("octeontx2-pf: Adds TC offload support")
---
 drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
index 04e08e06f30f..7153a71dfc86 100644
--- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
+++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
@@ -67,6 +67,8 @@ static int rvu_rep_mcam_flow_init(struct rep_dev *rep)
 
 		rsp = (struct npc_mcam_alloc_entry_rsp *)otx2_mbox_get_rsp
 			(&priv->mbox.mbox, 0, &req->hdr);
+		if (IS_ERR(rsp))
+			goto exit;
 
 		for (ent = 0; ent < rsp->count; ent++)
 			rep->flow_cfg->flow_ent[ent + allocated] = rsp->entry_list[ent];
-- 
2.34.1
Re: [PATCH] octeontx2-pf: handle otx2_mbox_get_rsp errors
Posted by Michal Swiatkowski 8 months, 1 week ago
On Sat, Apr 12, 2025 at 01:33:27PM -0500, Chenyuan Yang wrote:
> Adding error pointer check after calling otx2_mbox_get_rsp().
> 
> This is similar to the commit bd3110bc102a
> ("octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c").
> 
> Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
> Fixes: 6c40ca957fe5 ("octeontx2-pf: Adds TC offload support")
> ---
>  drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> index 04e08e06f30f..7153a71dfc86 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> @@ -67,6 +67,8 @@ static int rvu_rep_mcam_flow_init(struct rep_dev *rep)
>  
>  		rsp = (struct npc_mcam_alloc_entry_rsp *)otx2_mbox_get_rsp
>  			(&priv->mbox.mbox, 0, &req->hdr);
> +		if (IS_ERR(rsp))
> +			goto exit;

Changes looks fine:
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>

BTW, looks like now you can use break instead of goto exit, as exit
label is just after the while loop.

>  
>  		for (ent = 0; ent < rsp->count; ent++)
>  			rep->flow_cfg->flow_ent[ent + allocated] = rsp->entry_list[ent];
> -- 
> 2.34.1
Re: [PATCH] octeontx2-pf: handle otx2_mbox_get_rsp errors
Posted by Simon Horman 8 months, 1 week ago
On Mon, Apr 14, 2025 at 01:04:32PM +0200, Michal Swiatkowski wrote:
> On Sat, Apr 12, 2025 at 01:33:27PM -0500, Chenyuan Yang wrote:
> > Adding error pointer check after calling otx2_mbox_get_rsp().
> > 
> > This is similar to the commit bd3110bc102a
> > ("octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c").
> > 
> > Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
> > Fixes: 6c40ca957fe5 ("octeontx2-pf: Adds TC offload support")
> > ---
> >  drivers/net/ethernet/marvell/octeontx2/nic/rep.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> > index 04e08e06f30f..7153a71dfc86 100644
> > --- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c
> > @@ -67,6 +67,8 @@ static int rvu_rep_mcam_flow_init(struct rep_dev *rep)
> >  
> >  		rsp = (struct npc_mcam_alloc_entry_rsp *)otx2_mbox_get_rsp
> >  			(&priv->mbox.mbox, 0, &req->hdr);
> > +		if (IS_ERR(rsp))
> > +			goto exit;
> 
> Changes looks fine:
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> 
> BTW, looks like now you can use break instead of goto exit, as exit
> label is just after the while loop.

True. My suggestion would be to keep this patch as-is. And, once it has
hit net-next, send a follow-up to remove the exit label.

> 
> >  
> >  		for (ent = 0; ent < rsp->count; ent++)
> >  			rep->flow_cfg->flow_ent[ent + allocated] = rsp->entry_list[ent];
> > -- 
> > 2.34.1
>