On 04/08/2023 23:53, Vadim Fedorenko wrote: > On 04/08/2023 10:26, Li Zetao wrote: >> There is a warning reported by kernel test robot: >> >> smatch warnings: >> drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c:264 >> mlx5_devcom_send_event() warn: variable dereferenced before >> IS_ERR check devcom (see line 259) >> >> The reason for the warning is that the pointer is used before check, put >> the assignment to comp after devcom check to silence the warning. >> >> Fixes: 88d162b47981 ("net/mlx5: Devcom, Infrastructure changes") >> Reported-by: kernel test robot <lkp@xxxxxxxxx> >> Reported-by: Dan Carpenter <error27@xxxxxxxxx> >> Closes: https://lore.kernel.org/r/202308041028.AkXYDwJ6-lkp@xxxxxxxxx/ >> Signed-off-by: Li Zetao <lizetao1@xxxxxxxxxx> >> --- >> drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c >> index feb62d952643..2bc18274858c 100644 >> --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c >> +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c >> @@ -256,7 +256,7 @@ int mlx5_devcom_send_event(struct mlx5_devcom_comp_dev *devcom, >> int event, int rollback_event, >> void *event_data) >> { >> - struct mlx5_devcom_comp *comp = devcom->comp; >> + struct mlx5_devcom_comp *comp; >> struct mlx5_devcom_comp_dev *pos; > > The code should end up with reverse x-mas tree order. > The change itself LGTM. > Hi Li, Are you going to submit v2 ? Thanks, Roi >> int err = 0; >> void *data; >> @@ -264,6 +264,7 @@ int mlx5_devcom_send_event(struct mlx5_devcom_comp_dev *devcom, >> if (IS_ERR_OR_NULL(devcom)) >> return -ENODEV; >> + comp = devcom->comp; >> down_write(&comp->sem); >> list_for_each_entry(pos, &comp->comp_dev_list_head, list) { >> data = rcu_dereference_protected(pos->data, lockdep_is_held(&comp->sem)); >