eal: fix leak on device event callback unregister
authorYunjian Wang <wangyunjian@huawei.com>
Wed, 21 Oct 2020 11:19:03 +0000 (19:19 +0800)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 23 Oct 2020 11:35:48 +0000 (13:35 +0200)
The event_cb->dev_name is not freed when freeing event_cb,
and this causes a memory leak.

Fixes: a753e53d517b ("eal: add device event monitor framework")
Cc: stable@dpdk.org
Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Jeff Guo <jia.guo@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
lib/librte_eal/common/eal_common_dev.c

index 9e4f09d..363a2ca 100644 (file)
@@ -526,6 +526,7 @@ rte_dev_event_callback_unregister(const char *device_name,
                 */
                if (event_cb->active == 0) {
                        TAILQ_REMOVE(&dev_event_cbs, event_cb, next);
+                       free(event_cb->dev_name);
                        free(event_cb);
                        ret++;
                } else {