In the function mlx5_alloc_shared_dr(), there are various reasons to result in a failure and error clean up process. While in the caller of mlx5_dev_spawn(), once there is a error occurring after the mlx5_alloc_shared_dr(), the mlx5_os_free_shared_dr() is called to release all the resources. To prevent a double release, the pointers of the resources should be checked before the releasing and set to NULL after done. In the mlx5_free_table_hash_list(), after the releasing, the pointer was missed to set to NULL and a double release may cause a crash. By setting the tables pointer to NULL as done for other resources, the double release and crash could be solved. Fixes: 54534725d2f3 ("net/mlx5: fix flow table hash list conversion") Cc: stable@dpdk.org Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%