summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2024-10-07 18:09:58 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-11-01 01:58:18 +0100
commit90ad4e2fe3a243ff87ca535715ba6953bb2947b6 (patch)
treec4a17e3e93daeca7f5e123ee9c2dcc047a129d29
parent978d1f63fc6e1c6310f8629fe3ba23634b64985e (diff)
downloadlinux-90ad4e2fe3a243ff87ca535715ba6953bb2947b6.tar.gz
linux-90ad4e2fe3a243ff87ca535715ba6953bb2947b6.tar.bz2
linux-90ad4e2fe3a243ff87ca535715ba6953bb2947b6.zip
bpf: Fix memory leak in bpf_core_apply
[ Upstream commit 45126b155e3b5201179cdc038504bf93a8ccd921 ] We need to free specs properly. Fixes: 3d2786d65aaa ("bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos") Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Eduard Zingerman <eddyz87@gmail.com> Link: https://lore.kernel.org/bpf/20241007160958.607434-1-jolsa@kernel.org Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--kernel/bpf/btf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index e0e4d4f490e8..c8828016a66f 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -8435,6 +8435,7 @@ int bpf_core_apply(struct bpf_core_ctx *ctx, const struct bpf_core_relo *relo,
if (!type) {
bpf_log(ctx->log, "relo #%u: bad type id %u\n",
relo_idx, relo->type_id);
+ kfree(specs);
return -EINVAL;
}