OSDN Git Service

MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again
authorTiezhu Yang <yangtiezhu@loongson.cn>
Thu, 25 Mar 2021 12:50:01 +0000 (20:50 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Mon, 29 Mar 2021 09:17:09 +0000 (11:17 +0200)
commit66633abd0642f1e89d26e15f36fb13d3a1c535ff
treec444f05dd91665a6d098af42458e536eb7031132
parent509d36a941a3466b78d4377913623d210b162458
MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again

After commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to
archs where they work"), bpf_probe_read{, str}() functions were no longer
available on MIPS, so there exist some errors when running bpf program:

root@linux:/home/loongson/bcc# python examples/tracing/task_switch.py
bpf: Failed to load program: Invalid argument
[...]
11: (85) call bpf_probe_read#4
unknown func bpf_probe_read#4
[...]
Exception: Failed to load BPF program count_sched: Invalid argument

ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE should be restricted to archs
with non-overlapping address ranges, but they can overlap in EVA mode
on MIPS, so select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA in
arch/mips/Kconfig, otherwise the bpf old helper bpf_probe_read() will
not be available.

This is similar with the commit d195b1d1d119 ("powerpc/bpf: Enable
bpf_probe_read{, str}() on powerpc again").

Fixes: 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to archs where they work")
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/Kconfig