'rte_pie_rt_data_init(NULL)' is not expected, and it's ought to fail when this happen. The malloc inside this funtion didn't work. So remove the malloc otherwise will lead to a memory leak.
Fixes: 44c730b0e37971 ("sched: add PIE based congestion management") Signed-off-by: Weiguo Li <liw...@foxmail.com> --- v2: * revise according to Stephen's suggestion. --- lib/sched/rte_pie.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/sched/rte_pie.c b/lib/sched/rte_pie.c index cdb7bab697..eed5c12b54 100644 --- a/lib/sched/rte_pie.c +++ b/lib/sched/rte_pie.c @@ -15,13 +15,8 @@ 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; -- 2.25.1