b54b600361
For BPF_PSEUDO_FUNC instruction, verifier will refill imm with
correct addresses of bpf_calls and then run last pass of JIT.
Since the emit_imm of RV64 is variable-length, which will emit
appropriate length instructions accorroding to the imm, it may
broke ctx->offset, and lead to unpredictable problem, such as
inaccurate jump. So let's fix it with fixed-length instructions.
Fixes:
|
||
---|---|---|
.. | ||
Makefile | ||
bpf_jit.h | ||
bpf_jit_comp32.c | ||
bpf_jit_comp64.c | ||
bpf_jit_core.c |