summaryrefslogtreecommitdiff
path: root/kernel/bpf/liveness.c
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@kernel.org>2025-10-18 18:20:57 -0700
committerAlexei Starovoitov <ast@kernel.org>2025-10-18 18:20:57 -0700
commit50de48a4dde753d3e88f3326234db22ca6f16c6c (patch)
tree1c08721767c2001fd3d7c3b128a55c12055f52a0 /kernel/bpf/liveness.c
parent48a97ffc6c826640907d13b199e29008f4fe2c15 (diff)
parent1c64efcb083c48c85227cb4d72ab137feef2cdac (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf at 6.18-rc2
Cross-merge BPF and other fixes after downstream PR. No conflicts. Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf/liveness.c')
-rw-r--r--kernel/bpf/liveness.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/bpf/liveness.c b/kernel/bpf/liveness.c
index 3c611aba7f52..1e6538f59a78 100644
--- a/kernel/bpf/liveness.c
+++ b/kernel/bpf/liveness.c
@@ -195,8 +195,10 @@ static struct func_instance *__lookup_instance(struct bpf_verifier_env *env,
return ERR_PTR(-ENOMEM);
result->must_write_set = kvcalloc(subprog_sz, sizeof(*result->must_write_set),
GFP_KERNEL_ACCOUNT);
- if (!result->must_write_set)
+ if (!result->must_write_set) {
+ kvfree(result);
return ERR_PTR(-ENOMEM);
+ }
memcpy(&result->callchain, callchain, sizeof(*callchain));
result->insn_cnt = subprog_sz;
hash_add(liveness->func_instances, &result->hl_node, key);