On Mon, Mar 15, 2021 at 02:43:23PM +0000, 'w00385741 wrote:
> From: Wei Yongjun <weiyongj...@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 <hul...@huawei.com>
> Signed-off-by: Wei Yongjun <weiyongj...@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.carpen...@oracle.com>

regards,
dan carpenter

Reply via email to