Message ID | 20200530055447.1028004-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [net-next] mlx5: Restore err assignment in mlx5_mdev_init | expand |
On Fri, May 29, 2020 at 10:54:48PM -0700, Nathan Chancellor wrote: > Clang warns: > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:6: warning: variable > 'err' is used uninitialized whenever 'if' condition is true > [-Wsometimes-uninitialized] > if (!priv->dbg_root) { > ^~~~~~~~~~~~~~~ > drivers/net/ethernet/mellanox/mlx5/core/main.c:1303:9: note: > uninitialized use occurs here > return err; > ^~~ > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:2: note: remove the > 'if' if its condition is always false > if (!priv->dbg_root) { > ^~~~~~~~~~~~~~~~~~~~~~ > drivers/net/ethernet/mellanox/mlx5/core/main.c:1259:9: note: initialize > the variable 'err' to silence this warning > int err; > ^ > = 0 > 1 warning generated. > > This path previously returned -ENOMEM, restore that error code so that > it is not uninitialized. > > Fixes: 810cbb25549b ("net/mlx5: Add missing mutex destroy") > Link: https://github.com/ClangBuiltLinux/linux/issues/1042 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > index df46b1fce3a7..ac68445fde2d 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > @@ -1277,6 +1277,7 @@ static int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx) > mlx5_debugfs_root); > if (!priv->dbg_root) { > dev_err(dev->device, "mlx5_core: error, Cannot create debugfs dir, aborting\n"); > + err = -ENOMEM; > goto err_dbg_root; ^^^^^^^^^^^^^^^^^^ this is wrong. Failure to create debugfs should never fail the driver. > } > > > base-commit: c0cc73b79123e67b212bd537a7af88e52c9fbeac > -- > 2.27.0.rc0 >
On Sun, May 31, 2020 at 12:58:10PM +0300, Leon Romanovsky wrote: > On Fri, May 29, 2020 at 10:54:48PM -0700, Nathan Chancellor wrote: > > Clang warns: > > > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:6: warning: variable > > 'err' is used uninitialized whenever 'if' condition is true > > [-Wsometimes-uninitialized] > > if (!priv->dbg_root) { > > ^~~~~~~~~~~~~~~ > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1303:9: note: > > uninitialized use occurs here > > return err; > > ^~~ > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:2: note: remove the > > 'if' if its condition is always false > > if (!priv->dbg_root) { > > ^~~~~~~~~~~~~~~~~~~~~~ > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1259:9: note: initialize > > the variable 'err' to silence this warning > > int err; > > ^ > > = 0 > > 1 warning generated. > > > > This path previously returned -ENOMEM, restore that error code so that > > it is not uninitialized. > > > > Fixes: 810cbb25549b ("net/mlx5: Add missing mutex destroy") > > Link: https://github.com/ClangBuiltLinux/linux/issues/1042 > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > --- > > drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > > index df46b1fce3a7..ac68445fde2d 100644 > > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > > @@ -1277,6 +1277,7 @@ static int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx) > > mlx5_debugfs_root); > > if (!priv->dbg_root) { > > dev_err(dev->device, "mlx5_core: error, Cannot create debugfs dir, aborting\n"); > > + err = -ENOMEM; > > goto err_dbg_root; > ^^^^^^^^^^^^^^^^^^ this is wrong. > Failure to create debugfs should never fail the driver. Fair enough, could you guys deal with this then to make sure it gets fixed properly? It appears to be introduced in 11f3b84d7068 ("net/mlx5: Split mdev init and pci init"). > > } > > > > > > base-commit: c0cc73b79123e67b212bd537a7af88e52c9fbeac > > -- > > 2.27.0.rc0 > >
On Mon, Jun 01, 2020 at 09:07:48PM -0700, Nathan Chancellor wrote: > On Sun, May 31, 2020 at 12:58:10PM +0300, Leon Romanovsky wrote: > > On Fri, May 29, 2020 at 10:54:48PM -0700, Nathan Chancellor wrote: > > > Clang warns: > > > > > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:6: warning: variable > > > 'err' is used uninitialized whenever 'if' condition is true > > > [-Wsometimes-uninitialized] > > > if (!priv->dbg_root) { > > > ^~~~~~~~~~~~~~~ > > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1303:9: note: > > > uninitialized use occurs here > > > return err; > > > ^~~ > > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:2: note: remove the > > > 'if' if its condition is always false > > > if (!priv->dbg_root) { > > > ^~~~~~~~~~~~~~~~~~~~~~ > > > drivers/net/ethernet/mellanox/mlx5/core/main.c:1259:9: note: initialize > > > the variable 'err' to silence this warning > > > int err; > > > ^ > > > = 0 > > > 1 warning generated. > > > > > > This path previously returned -ENOMEM, restore that error code so that > > > it is not uninitialized. > > > > > > Fixes: 810cbb25549b ("net/mlx5: Add missing mutex destroy") > > > Link: https://github.com/ClangBuiltLinux/linux/issues/1042 > > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > > --- > > > drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c > > > index df46b1fce3a7..ac68445fde2d 100644 > > > --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c > > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c > > > @@ -1277,6 +1277,7 @@ static int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx) > > > mlx5_debugfs_root); > > > if (!priv->dbg_root) { > > > dev_err(dev->device, "mlx5_core: error, Cannot create debugfs dir, aborting\n"); > > > + err = -ENOMEM; > > > goto err_dbg_root; > > ^^^^^^^^^^^^^^^^^^ this is wrong. > > Failure to create debugfs should never fail the driver. > > Fair enough, could you guys deal with this then to make sure it gets > fixed properly? It appears to be introduced in 11f3b84d7068 ("net/mlx5: > Split mdev init and pci init"). Thanks, I will send it today. > > > > } > > > > > > > > > base-commit: c0cc73b79123e67b212bd537a7af88e52c9fbeac > > > -- > > > 2.27.0.rc0 > > >
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index df46b1fce3a7..ac68445fde2d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -1277,6 +1277,7 @@ static int mlx5_mdev_init(struct mlx5_core_dev *dev, int profile_idx) mlx5_debugfs_root); if (!priv->dbg_root) { dev_err(dev->device, "mlx5_core: error, Cannot create debugfs dir, aborting\n"); + err = -ENOMEM; goto err_dbg_root; }
Clang warns: drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:6: warning: variable 'err' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!priv->dbg_root) { ^~~~~~~~~~~~~~~ drivers/net/ethernet/mellanox/mlx5/core/main.c:1303:9: note: uninitialized use occurs here return err; ^~~ drivers/net/ethernet/mellanox/mlx5/core/main.c:1278:2: note: remove the 'if' if its condition is always false if (!priv->dbg_root) { ^~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/mellanox/mlx5/core/main.c:1259:9: note: initialize the variable 'err' to silence this warning int err; ^ = 0 1 warning generated. This path previously returned -ENOMEM, restore that error code so that it is not uninitialized. Fixes: 810cbb25549b ("net/mlx5: Add missing mutex destroy") Link: https://github.com/ClangBuiltLinux/linux/issues/1042 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/net/ethernet/mellanox/mlx5/core/main.c | 1 + 1 file changed, 1 insertion(+) base-commit: c0cc73b79123e67b212bd537a7af88e52c9fbeac