mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
252c765bd7
When a tracing BPF program attempts to read memory without using the
bpf_probe_read() helper, the verifier marks the load instruction with
the BPF_PROBE_MEM flag. Since the riscv JIT does not currently recognize
this flag it falls back to the interpreter.
Add support for BPF_PROBE_MEM, by appending an exception table to the
BPF program. If the load instruction causes a data abort, the fixup
infrastructure finds the exception table and fixes up the fault, by
clearing the destination register and jumping over the faulting
instruction.
A more generic solution would add a "handler" field to the table entry,
like on x86 and s390. The same issue in ARM64 is fixed in
|
||
---|---|---|
.. | ||
cacheflush.c | ||
context.c | ||
extable.c | ||
fault.c | ||
hugetlbpage.c | ||
init.c | ||
kasan_init.c | ||
Makefile | ||
pageattr.c | ||
physaddr.c | ||
ptdump.c | ||
tlbflush.c |