2021-07-22 10:00:15

by Jiapeng Chong

[permalink] [raw]
Subject: [PATCH v2] net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set()

The return value is missing in this code scenario, add the return value
'0' to the return value 'err'.

Eliminate the follow smatch warning:

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c:3083
mlx5_devlink_eswitch_inline_mode_set() warn: missing error code 'err'.

Reported-by: Abaci Robot <[email protected]>
Fixes: 8e0aa4bc959c ("net/mlx5: E-switch, Protect eswitch mode changes")
Signed-off-by: Jiapeng Chong <[email protected]>
---
Changes in v2:
-For the follow advice: https://lore.kernel.org/patchwork/patch/1461601/

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
index 7579f34..6b0b629 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
@@ -3079,8 +3079,11 @@ int mlx5_devlink_eswitch_inline_mode_set(struct devlink *devlink, u8 mode,

switch (MLX5_CAP_ETH(dev, wqe_inline_mode)) {
case MLX5_CAP_INLINE_MODE_NOT_REQUIRED:
- if (mode == DEVLINK_ESWITCH_INLINE_MODE_NONE)
+ if (mode == DEVLINK_ESWITCH_INLINE_MODE_NONE) {
+ err = 0;
goto out;
+ }
+
fallthrough;
case MLX5_CAP_INLINE_MODE_L2:
NL_SET_ERR_MSG_MOD(extack, "Inline mode can't be set");
--
1.8.3.1


2021-07-25 10:12:02

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH v2] net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set()

On Thu, Jul 22, 2021 at 05:58:16PM +0800, Jiapeng Chong wrote:
> The return value is missing in this code scenario, add the return value
> '0' to the return value 'err'.
>
> Eliminate the follow smatch warning:
>
> drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c:3083
> mlx5_devlink_eswitch_inline_mode_set() warn: missing error code 'err'.
>
> Reported-by: Abaci Robot <[email protected]>
> Fixes: 8e0aa4bc959c ("net/mlx5: E-switch, Protect eswitch mode changes")
> Signed-off-by: Jiapeng Chong <[email protected]>
> ---
> Changes in v2:
> -For the follow advice: https://lore.kernel.org/patchwork/patch/1461601/
>
> drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>

Thanks,
Reviewed-by: Leon Romanovsky <[email protected]>

2021-07-26 22:49:14

by Saeed Mahameed

[permalink] [raw]
Subject: Re: [PATCH v2] net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set()

On Thu, 2021-07-22 at 17:58 +0800, Jiapeng Chong wrote:
> The return value is missing in this code scenario, add the return
> value
> '0' to the return value 'err'.
>
> Eliminate the follow smatch warning:
>
> drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c:3083
> mlx5_devlink_eswitch_inline_mode_set() warn: missing error code
> 'err'.
>
> Reported-by: Abaci Robot <[email protected]>
> Fixes: 8e0aa4bc959c ("net/mlx5: E-switch, Protect eswitch mode
> changes")
> Signed-off-by: Jiapeng Chong <[email protected]>
> ---
> Changes in v2:
>   -For the follow advice:
> https://lore.kernel.org/patchwork/patch/1461601/
>
>  drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git
> a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> index 7579f34..6b0b629 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> @@ -3079,8 +3079,11 @@ int
> mlx5_devlink_eswitch_inline_mode_set(struct devlink *devlink, u8
> mode,
>  
>         switch (MLX5_CAP_ETH(dev, wqe_inline_mode)) {
>         case MLX5_CAP_INLINE_MODE_NOT_REQUIRED:
> -               if (mode == DEVLINK_ESWITCH_INLINE_MODE_NONE)
> +               if (mode == DEVLINK_ESWITCH_INLINE_MODE_NONE) {
> +                       err = 0;

Although err is already 0 at this point even before this patch,
otherwise the function would've aborted earlier, I will apply this to
net-next-mlx5, since I like the explicit return value here as it shows
the real intention of the code.
but smatch needs to be investigated.

Applied to net-next-mlx5,
Thanks.

>                         goto out;
> +               }
> +
>                 fallthrough;
>         case MLX5_CAP_INLINE_MODE_L2:
>                 NL_SET_ERR_MSG_MOD(extack, "Inline mode can't be
> set");