]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: Fix dispatcher patchable function entry to 5 bytes nop
authorJiri Olsa <jolsa@kernel.org>
Tue, 18 Oct 2022 07:59:34 +0000 (09:59 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 21 Oct 2022 01:57:51 +0000 (18:57 -0700)
commit86001954e18c4fefc5196c275090c9673e3291e9
treed060772885a0e15050fe1e1eb96697e61ee25ef3
parent5b361cb1189530403155d9c0de6554b96b6a662a
bpf: Fix dispatcher patchable function entry to 5 bytes nop

The patchable_function_entry(5) might output 5 single nop
instructions (depends on toolchain), which will clash with
bpf_arch_text_poke check for 5 bytes nop instruction.

Adding early init call for dispatcher that checks and change
the patchable entry into expected 5 nop instruction if needed.

There's no need to take text_mutex, because we are using it
in early init call which is called at pre-smp time.

Fixes: 2f9be759fe68 ("bpf: Move bpf_dispatcher function out of ftrace locations")
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221018075934.574415-1-jolsa@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/x86/net/bpf_jit_comp.c
include/linux/bpf.h
kernel/bpf/dispatcher.c