Re: [PATCH 2/3] LoongArch: BPF: Sign extend struct ops return values properly

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

 



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





[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