mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 00:08:50 +00:00
bpf, x86_64: Fail gracefully on bpf_jit_binary_pack_finalize failures
Instead of BUG_ON(), fail gracefully and return orig_prog. Fixes: 1022a5498f6f ("bpf, x86_64: Use bpf_jit_binary_pack_alloc") Signed-off-by: Song Liu <song@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20220208062533.3802081-1-song@kernel.org
This commit is contained in:
parent
5d1e9f437d
commit
f95f768f0a
@ -2378,9 +2378,13 @@ out_image:
|
||||
* 1) header is not pointing to proper module memory;
|
||||
* 2) the arch doesn't support bpf_arch_text_copy().
|
||||
*
|
||||
* Both cases are serious bugs that we should not continue.
|
||||
* Both cases are serious bugs and justify WARN_ON.
|
||||
*/
|
||||
BUG_ON(bpf_jit_binary_pack_finalize(prog, header, rw_header));
|
||||
if (WARN_ON(bpf_jit_binary_pack_finalize(prog, header, rw_header))) {
|
||||
prog = orig_prog;
|
||||
goto out_addrs;
|
||||
}
|
||||
|
||||
bpf_tail_call_direct_fixup(prog);
|
||||
} else {
|
||||
jit_data->addrs = addrs;
|
||||
|
Loading…
x
Reference in New Issue
Block a user