[PATCH v2] LoongArch/bpf: Enable bpf_probe_read{, str}() on LoongArch

Chenguang Zhao posted 1 patch 2 years, 6 months ago
arch/loongarch/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH v2] LoongArch/bpf: Enable bpf_probe_read{, str}() on LoongArch
Posted by Chenguang Zhao 2 years, 6 months ago
Currently nettrace does not work on LoongArch due to missing
bpf_probe_read{,str}() support, with the error message:

     ERROR: failed to load kprobe-based eBPF
     ERROR: failed to load kprobe-based bpf

According to commit 0ebeea8ca8a4d ("bpf: Restrict bpf_probe_read{,
str}() only to archs where they work"), we only need to select
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE to add said support,
because LoongArch does have non-overlapping address ranges for kernel
and userspace.

Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
---
 arch/loongarch/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index 903096bd87f8..4a156875e9cc 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -11,6 +11,7 @@ config LOONGARCH
 	select ARCH_ENABLE_MEMORY_HOTREMOVE
 	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
 	select ARCH_HAS_PTE_SPECIAL
+	select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
 	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
 	select ARCH_INLINE_READ_LOCK if !PREEMPTION
 	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
-- 
2.25.1
Re: [PATCH v2] LoongArch/bpf: Enable bpf_probe_read{, str}() on LoongArch
Posted by Huacai Chen 2 years, 6 months ago
Queued for loongarch-next, thanks.

Huacai

On Thu, Jul 27, 2023 at 12:21 PM Chenguang Zhao
<zhaochenguang@kylinos.cn> wrote:
>
> Currently nettrace does not work on LoongArch due to missing
> bpf_probe_read{,str}() support, with the error message:
>
>      ERROR: failed to load kprobe-based eBPF
>      ERROR: failed to load kprobe-based bpf
>
> According to commit 0ebeea8ca8a4d ("bpf: Restrict bpf_probe_read{,
> str}() only to archs where they work"), we only need to select
> CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE to add said support,
> because LoongArch does have non-overlapping address ranges for kernel
> and userspace.
>
> Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
> ---
>  arch/loongarch/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index 903096bd87f8..4a156875e9cc 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -11,6 +11,7 @@ config LOONGARCH
>         select ARCH_ENABLE_MEMORY_HOTREMOVE
>         select ARCH_HAS_ACPI_TABLE_UPGRADE      if ACPI
>         select ARCH_HAS_PTE_SPECIAL
> +       select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
>         select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>         select ARCH_INLINE_READ_LOCK if !PREEMPTION
>         select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> --
> 2.25.1
>