Re: [PATCH 0/3] LoongArch: Fix BPF trampoline related issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 21, 2025 at 5:16 AM Hengqi Chen <hengqi.chen@xxxxxxxxx> wrote:
>
> The following two selftest cases triggers oops on LoongArch:
>
>     $ ./test_progs -a ns_bpf_qdisc -a tracing_struct
>

I tested this patch series by running bpf selftests as below to bypass
the tests that would hang up the loongarch kernel, I also denied the
tracing_struct that I think is related to module_attach and
subprogs_extable, these three tests I think is  related to
fentry/fexit on kernel module functions and that would hang up
loongarch kernel. The rest of bpf selftests failed report for the
loongarch kernel  is here [0].

./test_progs \
--deny=module_attach \
--deny=struct_ops \
--deny=subprogs_extable \
--deny=tracing_struct \
--deny=timer_lockup \
--json-summary="./ns_bpf_qdisc.json"

...
#213/1   ns_bpf_qdisc/fifo:OK
#213/2   ns_bpf_qdisc/fq:OK
#213/3   ns_bpf_qdisc/attach to mq:OK
#213/4   ns_bpf_qdisc/attach to non root:OK
#213/5   ns_bpf_qdisc/incompl_ops:OK
#213     ns_bpf_qdisc:OK
...

[0]: https://www.bpfire.net/download/ns_bpf_qdisc.json.txt

Tested-by: Vincent Li <vincent.mc.li@xxxxxxxxx>

> This small series tries to fix/workaround these issues.
> See individual commit for details.
>
> While at it, remove a duplicated flags check in __arch_prepare_bpf_trampoline().
>
> Hengqi Chen (3):
>   LoongArch: BPF: Remove duplicated flags check
>   LoongArch: BPF: Sign extend struct ops return values properly
>   LoongArch: BPF: No support of struct argument in trampoline programs
>
>  arch/loongarch/net/bpf_jit.c | 54 +++++++++++++++++++++++++++++-------
>  1 file changed, 44 insertions(+), 10 deletions(-)
>
> --
> 2.43.5





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux