Message ID | 20240703203251.8871-1-amishin@t-argos.ru (mailing list archive) |
---|---|
State | Accepted |
Commit | 8ce34dccbe8fa7d2ef86f2d8e7db2a9b67cabfc3 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2] mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file | expand |
On Wed, Jul 03, 2024 at 11:32:51PM +0300, Aleksandr Mishin wrote: > In case of invalid INI file mlxsw_linecard_types_init() deallocates memory > but doesn't reset pointer to NULL and returns 0. In case of any error > occurred after mlxsw_linecard_types_init() call, mlxsw_linecards_init() > calls mlxsw_linecard_types_fini() which performs memory deallocation again. > > Add pointer reset to NULL. > > Found by Linux Verification Center (linuxtesting.org) with SVACE. > > Fixes: b217127e5e4e ("mlxsw: core_linecards: Add line card objects and implement provisioning") > Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru> > Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > Reviewed-by: Ido Schimmel <idosch@nvidia.com> > --- > v2: > - fix few typos in comment as suggested by Przemek and Ido > - add Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> > (https://lore.kernel.org/all/c631fc5e-1cc6-467a-963a-69ef03c20f40@intel.com/) > - add Reviewed-by: Ido Schimmel <idosch@nvidia.com> > (https://lore.kernel.org/all/ZoWJzqaRJKjtTlNO@shredder.mtl.com/) > v1: https://lore.kernel.org/all/20240702103352.15315-1-amishin@t-argos.ru/ > > drivers/net/ethernet/mellanox/mlxsw/core_linecards.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c > index 025e0db983fe..b032d5a4b3b8 100644 > --- a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c > +++ b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c > @@ -1484,6 +1484,7 @@ static int mlxsw_linecard_types_init(struct mlxsw_core *mlxsw_core, > vfree(types_info->data); > err_data_alloc: > kfree(types_info); > + linecards->types_info = NULL; > return err; > } > > -- > 2.30.2 > It looks like all the typos pointed out in v1 have been fixed. Thanks, Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 3 Jul 2024 23:32:51 +0300 you wrote: > In case of invalid INI file mlxsw_linecard_types_init() deallocates memory > but doesn't reset pointer to NULL and returns 0. In case of any error > occurred after mlxsw_linecard_types_init() call, mlxsw_linecards_init() > calls mlxsw_linecard_types_fini() which performs memory deallocation again. > > Add pointer reset to NULL. > > [...] Here is the summary with links: - [net,v2] mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file https://git.kernel.org/netdev/net/c/8ce34dccbe8f You are awesome, thank you!
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c index 025e0db983fe..b032d5a4b3b8 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c @@ -1484,6 +1484,7 @@ static int mlxsw_linecard_types_init(struct mlxsw_core *mlxsw_core, vfree(types_info->data); err_data_alloc: kfree(types_info); + linecards->types_info = NULL; return err; }