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

Reply via email to