V2-changes: - Addressed Bruce Richardson's review comments. - Added "Cc: [email protected]" in all patches. - Use ice_deinit_hw() on close instead of open-coding it, which also returns the FD counter block to firmware on Patch-2. - Declare the devarg handler argument as char ** so the filename it points to is char * and can be freed without a cast on Patch-3. - use RTE_CAST_PTR when freeing the filename in ice_dev_init() on Patch-3. - allocate the flow segment on the stack instead of freeing it on Patch-7.
This series fixes memory leaks, and one double free, in the ice PMD. a. The DDP package copy was freed twice when hardware table initialization failed during probe. b. The switch filter management structures, the DDP package copy and any remaining VSI contexts were never freed on port close or reset. c. The DDP filename devarg string leaked on probe failure, and when the devarg was given more than once. d. The main VSI leaked when probe failed after PF setup. e. MAC and VLAN filter entries could stay allocated when a VSI was released. f. A failed flow director setup leaked the FDIR VSI, hash table, hash map and counter pools. g. The flow segment used to create the ACL profiles leaked on every ACL engine init. Anurag Mandal (7): net/ice: fix DDP package double free on init failure net/ice: fix resource leaks on port close net/ice: fix DDP filename leak net/ice: fix main VSI leak on init failure net/ice: fix MAC and VLAN filter leak on VSI release net/ice: fix FDIR resource leak on setup failure net/ice: fix ACL profile segment leak drivers/net/intel/ice/ice_acl_filter.c | 46 +++++++++++-------------- drivers/net/intel/ice/ice_ethdev.c | 37 ++++++++++++++------ drivers/net/intel/ice/ice_fdir_filter.c | 10 ++++-- 3 files changed, 54 insertions(+), 39 deletions(-) -- 2.25.1

