diff mbox series

[net-next] net: dsa: sja1105: fix error return code in sja1105_cls_flower_add()

Message ID 20210315144323.4110640-1-weiyongjun1@huawei.com
State New
Headers show
Series [net-next] net: dsa: sja1105: fix error return code in sja1105_cls_flower_add() | expand

Commit Message

Wei Yongjun March 15, 2021, 2:43 p.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

The return value 'rc' maybe overwrite to 0 in the flow_action_for_each
loop, the error code from the offload not support error handling will
not set. This commit fix it to return -EOPNOTSUPP.

Fixes: 6a56e19902af ("flow_offload: reject configuration of packet-per-second policing in offload drivers")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/net/dsa/sja1105/sja1105_flower.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Dan Carpenter March 16, 2021, 9:10 a.m. UTC | #1
On Mon, Mar 15, 2021 at 02:43:23PM +0000, 'w00385741 wrote:
> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> The return value 'rc' maybe overwrite to 0 in the flow_action_for_each
> loop, the error code from the offload not support error handling will
> not set. This commit fix it to return -EOPNOTSUPP.
> 
> Fixes: 6a56e19902af ("flow_offload: reject configuration of packet-per-second policing in offload drivers")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  drivers/net/dsa/sja1105/sja1105_flower.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/dsa/sja1105/sja1105_flower.c b/drivers/net/dsa/sja1105/sja1105_flower.c
> index f78b767f86ee..973761132fc3 100644
> --- a/drivers/net/dsa/sja1105/sja1105_flower.c
> +++ b/drivers/net/dsa/sja1105/sja1105_flower.c
> @@ -317,14 +317,13 @@ int sja1105_cls_flower_add(struct dsa_switch *ds, int port,
>  	if (rc)
>  		return rc;
>  
> -	rc = -EOPNOTSUPP;
> -
>  	flow_action_for_each(i, act, &rule->action) {
>  		switch (act->id) {
>  		case FLOW_ACTION_POLICE:
>  			if (act->police.rate_pkt_ps) {
>  				NL_SET_ERR_MSG_MOD(extack,
>  						   "QoS offload not support packets per second");
> +				rc = -EOPNOTSUPP;
>  				goto out;

Yep.  The goto out is a do nothing goto and "forgot the error code" is
the traditional bug introduced by do nothing gotos.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>

regards,
dan carpenter
diff mbox series

Patch

diff --git a/drivers/net/dsa/sja1105/sja1105_flower.c b/drivers/net/dsa/sja1105/sja1105_flower.c
index f78b767f86ee..973761132fc3 100644
--- a/drivers/net/dsa/sja1105/sja1105_flower.c
+++ b/drivers/net/dsa/sja1105/sja1105_flower.c
@@ -317,14 +317,13 @@  int sja1105_cls_flower_add(struct dsa_switch *ds, int port,
 	if (rc)
 		return rc;
 
-	rc = -EOPNOTSUPP;
-
 	flow_action_for_each(i, act, &rule->action) {
 		switch (act->id) {
 		case FLOW_ACTION_POLICE:
 			if (act->police.rate_pkt_ps) {
 				NL_SET_ERR_MSG_MOD(extack,
 						   "QoS offload not support packets per second");
+				rc = -EOPNOTSUPP;
 				goto out;
 			}