[PATCH] bpf: Call kfree(obj) only once in free_one()

Markus Elfring posted 1 patch 2 months ago
kernel/bpf/memalloc.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
[PATCH] bpf: Call kfree(obj) only once in free_one()
Posted by Markus Elfring 2 months ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Thu, 26 Sep 2024 13:30:42 +0200

A kfree() call is always used at the end of this function implementation.
Thus specify such a function call only once instead of duplicating it
in a previous if branch.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 kernel/bpf/memalloc.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/bpf/memalloc.c b/kernel/bpf/memalloc.c
index b3858a76e0b3..1a1b4458114c 100644
--- a/kernel/bpf/memalloc.c
+++ b/kernel/bpf/memalloc.c
@@ -252,11 +252,8 @@ static void alloc_bulk(struct bpf_mem_cache *c, int cnt, int node, bool atomic)

 static void free_one(void *obj, bool percpu)
 {
-	if (percpu) {
+	if (percpu)
 		free_percpu(((void __percpu **)obj)[1]);
-		kfree(obj);
-		return;
-	}

 	kfree(obj);
 }
--
2.46.1
Re: [PATCH] bpf: Call kfree(obj) only once in free_one()
Posted by Eduard Zingerman 2 months ago
On Thu, 2024-09-26 at 13:45 +0200, Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Thu, 26 Sep 2024 13:30:42 +0200
> 
> A kfree() call is always used at the end of this function implementation.
> Thus specify such a function call only once instead of duplicating it
> in a previous if branch.
> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---

Acked-by: Eduard Zingerman <eddyz87@gmail.com>

[...]