]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
bpf, x86: Set header->size properly before freeing it
authorSong Liu <song@kernel.org>
Wed, 2 Mar 2022 17:51:26 +0000 (09:51 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 2 Mar 2022 21:24:37 +0000 (13:24 -0800)
commit676b2daabaf9a993db0e02a5ce79b984aaa0388b
tree81b456d3fc63e54aaefe5a49187a8053474abfc6
parenteed1fcee556fd8569afe94178b0c2784a5a6b717
bpf, x86: Set header->size properly before freeing it

On do_jit failure path, the header is freed by bpf_jit_binary_pack_free.
While bpf_jit_binary_pack_free doesn't require proper ro_header->size,
bpf_prog_pack_free still uses it. Set header->size in bpf_int_jit_compile
before calling bpf_jit_binary_pack_free.

Fixes: 1022a5498f6f ("bpf, x86_64: Use bpf_jit_binary_pack_alloc")
Fixes: 33c9805860e5 ("bpf: Introduce bpf_jit_binary_pack_[alloc|finalize|free]")
Reported-by: Kui-Feng Lee <kuifeng@fb.com>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20220302175126.247459-3-song@kernel.org
arch/x86/net/bpf_jit_comp.c
kernel/bpf/core.c