On 2025/8/21 下午5:10, Hengqi Chen wrote:
The ns_bpf_qdisc selftest triggers a kernel panic:
...
The bpf_fifo_dequeue prog returns a skb which is a pointer. The pointer is treated as a 32bit value and sign extend to 64bit in epilogue. This behavior is right for most bpf prog types but wrong for struct ops which requires LoongArch ABI. So let's sign extend struct ops return values according to the return value spec in function model. Fixes: 6abf17d690d8 ("LoongArch: BPF: Add struct ops support for trampoline") Signed-off-by: Hengqi Chen <hengqi.chen@xxxxxxxxx>
The following related testcases passed on LoongArch: sudo modprobe test_bpf sudo ./test_progs -a ns_bpf_qdisc sudo ./test_progs -t struct_ops -d struct_ops_multi_pages Tested-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> Thanks, Tiezhu