diff options
| author | Pu Lehui <pulehui@huawei.com> | 2026-08-14 06:47:26 +0000 |
|---|---|---|
| committer | Daniel Borkmann <daniel@iogearbox.net> | 2026-08-14 18:31:58 +0200 |
| commit | f2aaa621591093cfe8224a25ef2f04a3b1e304b0 (patch) | |
| tree | acf4101e2fab04c23999b675722e97c267e945dc /tools/perf/scripts/python/parallel-perf.py | |
| parent | b0e872a31e157d48479507c2821ba8bf6323b7ad (diff) | |
riscv, bpf: Fix missing sign-ext for signed 1-byte and 2-byte kfunc args
On RV64, the ABI requires sign-extension for signed 1-byte and 2-byte kfunc
args. However, the RV64 JIT currently does not perform sign-extension for
such kfunc args.
Before commit 7ce090afbf72 ("bpf: Infer zext_dst based on static register
liveness analysis"), state pruning could potentially omit zero-extension
of 32-bit subregisters, which inadvertently masked the above issue by making
the args appear as if they had been properly sign-extended. After that
commit, the problem is exposed, causing the kfunc_call/kfunc_call_test4
selftest to fail.
Fix this by extending the existing sign-extension logic to handle signed
1-byte and 2-byte kfunc args as well.
Fixes: 443574b03387 ("riscv, bpf: Fix kfunc parameters incompatibility between bpf and riscv abi")
Signed-off-by: Pu Lehui <pulehui@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20260814064726.3607615-1-pulehui@huaweicloud.com
Diffstat (limited to 'tools/perf/scripts/python/parallel-perf.py')
0 files changed, 0 insertions, 0 deletions
