In the Linux kernel, the following vulnerability has been resolved:
mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
In case of invalid INI file mlxswlinecardtypesinit() deallocates memory but doesn't reset pointer to NULL and returns 0. In case of any error occurred after mlxswlinecardtypesinit() call, mlxswlinecardsinit() calls mlxswlinecardtypes_fini() which performs memory deallocation again.
Add pointer reset to NULL.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[ { "signature_type": "Line", "id": "CVE-2024-42138-17bb6b06", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8ce34dccbe8fa7d2ef86f2d8e7db2a9b67cabfc3", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "309483418095740380574759402446362187963", "233996730449061371866700470114420933116", "49858453482249557882052968106907478362", "289383279038616450572715082670120867907" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42138-4caf643a", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8ce34dccbe8fa7d2ef86f2d8e7db2a9b67cabfc3", "signature_version": "v1", "target": { "function": "mlxsw_linecard_types_init", "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "function_hash": "129613648152532615144905163562787268751", "length": 1357.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42138-54988e91", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9af7437669b72f804fc4269f487528dbbed142a2", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "309483418095740380574759402446362187963", "233996730449061371866700470114420933116", "49858453482249557882052968106907478362", "289383279038616450572715082670120867907" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42138-58067005", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9af7437669b72f804fc4269f487528dbbed142a2", "signature_version": "v1", "target": { "function": "mlxsw_linecard_types_init", "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "function_hash": "129613648152532615144905163562787268751", "length": 1357.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42138-70be42e2", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab557f5cd993a3201b09593633d04b891263d5c0", "signature_version": "v1", "target": { "function": "mlxsw_linecard_types_init", "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "function_hash": "129613648152532615144905163562787268751", "length": 1357.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-42138-72507674", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8b55a465b0e8a500179808166fe9420f5c091a1", "signature_version": "v1", "target": { "function": "mlxsw_linecard_types_init", "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "function_hash": "129613648152532615144905163562787268751", "length": 1357.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42138-75e86fa9", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f8b55a465b0e8a500179808166fe9420f5c091a1", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "309483418095740380574759402446362187963", "233996730449061371866700470114420933116", "49858453482249557882052968106907478362", "289383279038616450572715082670120867907" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-42138-bd1b400c", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab557f5cd993a3201b09593633d04b891263d5c0", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/mellanox/mlxsw/core_linecards.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "309483418095740380574759402446362187963", "233996730449061371866700470114420933116", "49858453482249557882052968106907478362", "289383279038616450572715082670120867907" ] }, "deprecated": false } ]