Message ID | 1615965307-6926-1-git-send-email-yangtiezhu@loongson.cn (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again | expand |
On 17.03.2021 10:15, Tiezhu Yang wrote: > After commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to > archs where they work"), bpf_probe_read{, str}() functions were not longer No longer. > available on MIPS, so there exists some errors when running bpf program: Exist. > 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 > > So select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE in arch/mips/Kconfig, > otherwise the bpf old helper bpf_probe_read() will not be available. > > This is similar with the commit d195b1d1d1196 ("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> [...] MBR, Sergei
On 3/17/21 8:15 AM, Tiezhu Yang wrote: > After commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to > archs where they work"), bpf_probe_read{, str}() functions were not longer > available on MIPS, so there exists 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 > > So select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE in arch/mips/Kconfig, > otherwise the bpf old helper bpf_probe_read() will not be available. > > This is similar with the commit d195b1d1d1196 ("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> Thomas, I presume you pick this up via mips tree (with typos fixed)? Or do you want us to route the fix via bpf with your ACK? (I'm fine either way.) Thanks, Daniel
On Wed, Mar 17, 2021 at 11:18:48PM +0100, Daniel Borkmann wrote: > On 3/17/21 8:15 AM, Tiezhu Yang wrote: > > After commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to > > archs where they work"), bpf_probe_read{, str}() functions were not longer > > available on MIPS, so there exists 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 > > > > So select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE in arch/mips/Kconfig, > > otherwise the bpf old helper bpf_probe_read() will not be available. > > > > This is similar with the commit d195b1d1d1196 ("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> > > Thomas, I presume you pick this up via mips tree (with typos fixed)? Or do you > want us to route the fix via bpf with your ACK? (I'm fine either way.) I'll take it via mips tree. Thomas.
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 160b3a8..4b94ec7 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -6,6 +6,7 @@ config MIPS select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT select ARCH_HAS_FORTIFY_SOURCE select ARCH_HAS_KCOV + select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI) select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_HAS_UBSAN_SANITIZE_ALL
After commit 0ebeea8ca8a4 ("bpf: Restrict bpf_probe_read{, str}() only to archs where they work"), bpf_probe_read{, str}() functions were not longer available on MIPS, so there exists 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 So select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE in arch/mips/Kconfig, otherwise the bpf old helper bpf_probe_read() will not be available. This is similar with the commit d195b1d1d1196 ("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> --- arch/mips/Kconfig | 1 + 1 file changed, 1 insertion(+)