net/softnic: fix memory leak of meter policy
authorDapeng Yu <dapengx.yu@intel.com>
Thu, 14 Oct 2021 02:12:07 +0000 (10:12 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 19 Oct 2021 20:45:19 +0000 (22:45 +0200)
After the meter policies are created, they are not freed on device
close.

This patch fixes it.

Fixes: 5f0d54f372f0 ("ethdev: add pre-defined meter policy API")
Cc: stable@dpdk.org
Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
drivers/net/softnic/rte_eth_softnic_meter.c

index 5831892..6b02f43 100644 (file)
@@ -52,6 +52,18 @@ softnic_mtr_free(struct pmd_internals *p)
                TAILQ_REMOVE(&p->mtr.meter_profiles, mp, node);
                free(mp);
        }
+
+       /* Remove meter policies */
+       for ( ; ; ) {
+               struct softnic_mtr_meter_policy *mp;
+
+               mp = TAILQ_FIRST(&p->mtr.meter_policies);
+               if (mp == NULL)
+                       break;
+
+               TAILQ_REMOVE(&p->mtr.meter_policies, mp, node);
+               free(mp);
+       }
 }
 
 struct softnic_mtr_meter_profile *