aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHou Tao <[email protected]>2024-12-06 19:06:15 +0800
committerAlexei Starovoitov <[email protected]>2024-12-06 09:14:25 -0800
commit3d5611b4d7efbefb85a74fcdbc35c603847cc022 (patch)
tree7fd820019ea7fd4f07c69b48be92f22b3e7b281f
parent156c977c539e87e173f505b23989d7b0ec0bc7d8 (diff)
bpf: Remove unnecessary kfree(im_node) in lpm_trie_update_elem
There is no need to call kfree(im_node) when updating element fails, because im_node must be NULL. Remove the unnecessary kfree() for im_node. Reviewed-by: Toke Høiland-Jørgensen <[email protected]> Acked-by: Daniel Borkmann <[email protected]> Signed-off-by: Hou Tao <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
-rw-r--r--kernel/bpf/lpm_trie.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/bpf/lpm_trie.c b/kernel/bpf/lpm_trie.c
index 73fd593d3745..b5e281a55760 100644
--- a/kernel/bpf/lpm_trie.c
+++ b/kernel/bpf/lpm_trie.c
@@ -315,7 +315,7 @@ static long trie_update_elem(struct bpf_map *map,
void *_key, void *value, u64 flags)
{
struct lpm_trie *trie = container_of(map, struct lpm_trie, map);
- struct lpm_trie_node *node, *im_node = NULL, *new_node = NULL;
+ struct lpm_trie_node *node, *im_node, *new_node = NULL;
struct lpm_trie_node *free_node = NULL;
struct lpm_trie_node __rcu **slot;
struct bpf_lpm_trie_key_u8 *key = _key;
@@ -431,9 +431,7 @@ out:
if (ret) {
if (new_node)
trie->n_entries--;
-
kfree(new_node);
- kfree(im_node);
}
spin_unlock_irqrestore(&trie->lock, irq_flags);