From 79aab97c94024c4f969308ec806efb168cccc83d Mon Sep 17 00:00:00 2001 From: Weiguo Li Date: Wed, 2 Mar 2022 04:32:57 +0800 Subject: [PATCH] sched: remove useless malloc in PIE data init 'rte_pie_rt_data_init(NULL)' is not expected, and it's ought to fail when this happen. The malloc inside the function didn't work. So remove the malloc otherwise will lead to a memory leak. Fixes: 44c730b0e37971 ("sched: add PIE based congestion management") Cc: stable@dpdk.org Signed-off-by: Weiguo Li Acked-by: Stephen Hemminger Acked-by: Cristian Dumitrescu --- lib/sched/rte_pie.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/lib/sched/rte_pie.c b/lib/sched/rte_pie.c index cdb7bab697..d37b79e6dd 100644 --- a/lib/sched/rte_pie.c +++ b/lib/sched/rte_pie.c @@ -3,6 +3,7 @@ */ #include +#include #include "rte_pie.h" #include @@ -15,26 +16,11 @@ int rte_pie_rt_data_init(struct rte_pie *pie) { if (pie == NULL) { - /* Allocate memory to use the PIE data structure */ - pie = rte_malloc(NULL, sizeof(struct rte_pie), 0); - - if (pie == NULL) - RTE_LOG(ERR, SCHED, "%s: Memory allocation fails\n", __func__); - - return -1; + RTE_LOG(ERR, SCHED, "%s: Invalid addr for pie\n", __func__); + return -EINVAL; } - pie->active = 0; - pie->in_measurement = 0; - pie->departed_bytes_count = 0; - pie->start_measurement = 0; - pie->last_measurement = 0; - pie->qlen = 0; - pie->avg_dq_time = 0; - pie->burst_allowance = 0; - pie->qdelay_old = 0; - pie->drop_prob = 0; - pie->accu_prob = 0; + memset(pie, 0, sizeof(*pie)); return 0; } -- 2.20.1