-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LoongArch: BPF: Use move_addr() for BPF_PSEUDO_FUNC #8685
base: bpf-next_base
Are you sure you want to change the base?
Conversation
Upstream branch: 812f770 |
Upstream branch: 812f770 |
8a98633
to
9d7ef4f
Compare
014f72f
to
4d1d6fc
Compare
Upstream branch: b02f072 |
9d7ef4f
to
1ea51f7
Compare
4d1d6fc
to
e14a0d8
Compare
Upstream branch: f3f8649 |
1ea51f7
to
550c151
Compare
e14a0d8
to
503edd4
Compare
Upstream branch: ae0a457 |
550c151
to
febb1d8
Compare
503edd4
to
7e623dc
Compare
Upstream branch: f4edc66 |
febb1d8
to
d7f6aa9
Compare
7e623dc
to
156a3ac
Compare
Upstream branch: 6ca2162 |
d7f6aa9
to
f4e6bb1
Compare
156a3ac
to
50dba77
Compare
Upstream branch: a259804 |
f4e6bb1
to
91df067
Compare
50dba77
to
ce294a5
Compare
Upstream branch: 79db658 |
91df067
to
36c7dff
Compare
ce294a5
to
e34fe93
Compare
Upstream branch: e16e64f |
36c7dff
to
361170b
Compare
e34fe93
to
8c0b07b
Compare
Upstream branch: 51d6504 |
361170b
to
e7d9825
Compare
8c0b07b
to
c55d243
Compare
Upstream branch: 307ef66 |
e7d9825
to
80861a5
Compare
c55d243
to
5cf614b
Compare
Upstream branch: 9aa8fe2 |
80861a5
to
f55427f
Compare
5cf614b
to
c9cf71b
Compare
Upstream branch: 9aa8fe2 |
f55427f
to
2c4bd33
Compare
c9cf71b
to
26ba3c4
Compare
Upstream branch: 9aa8fe2 |
2c4bd33
to
34b1ae3
Compare
26ba3c4
to
3dc28f3
Compare
Upstream branch: 9aa8fe2 |
34b1ae3
to
a552f81
Compare
3dc28f3
to
35ab59d
Compare
Vincent reported that running XDP synproxy program on LoongArch results in the following error: JIT doesn't support bpf-to-bpf calls With dmesg: multi-func JIT bug 1391 != 1390 The root cause is that verifier will refill the imm with the correct addresses of bpf_calls for BPF_PSEUDO_FUNC instructions and then run the last pass of JIT. So we generate different JIT code for the same instruction in two passes (one for placeholder and one for real address). Let's use move_addr() instead. See commit 64f50f6 ("LoongArch, bpf: Use 4 instructions for function address in JIT") for a similar fix. Fixes: 69c087b ("bpf: Add bpf_for_each_map_elem() helper") Fixes: bb035ef ("LoongArch: BPF: Support mixing bpf2bpf and tailcalls") Reported-by: Vincent Li <[email protected]> Closes: https://lore.kernel.org/loongarch/CAK3+h2yfM9FTNiXvEQBkvtuoJrvzmN4c_NZsFXqEk4Cj1tsBNA@mail.gmail.com/T/#u Signed-off-by: Hengqi Chen <[email protected]> Tested-by: Vincent Li <[email protected]>
Upstream branch: 9aa8fe2 |
a552f81
to
5fccc59
Compare
Pull request for series with
subject: LoongArch: BPF: Use move_addr() for BPF_PSEUDO_FUNC
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=944472