Skip to content

Conversation

@kernel-patches-daemon-bpf-rc
Copy link

Pull request for series with
subject: Signed loads from Arena
version: 4
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1005228

@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 58a5820
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=1005228
version: 4

@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 348f611
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=1005228
version: 4

Currently, signed load instructions into arena memory are unsupported.
The compiler is free to generate these, and on GCC-14 we see a
corresponding error when it happens. The hurdle in supporting them is
deciding which unused opcode to use to mark them for the JIT's own
consumption. After much thinking, it appears 0xc0 / BPF_NOSPEC can be
combined with load instructions to identify signed arena loads. Use
this to recognize and JIT them appropriately, and remove the verifier
side limitation on the program if the JIT supports them.

Co-developed-by: Puranjay Mohan <[email protected]>
Signed-off-by: Kumar Kartikeya Dwivedi <[email protected]>
Signed-off-by: Puranjay Mohan <[email protected]>
@kernel-patches-daemon-bpf-rc
Copy link
Author

Upstream branch: 2383e45
series: https://patchwork.kernel.org/project/netdevbpf/list/?series=1005228
version: 4

Add support for signed loads from arena which are internally converted
to loads with mode set BPF_PROBE_MEM32SX by the verifier. The
implementation is similar to BPF_PROBE_MEMSX and BPF_MEMSX but for
BPF_PROBE_MEM32SX, arena_vm_base is added to the src register to form
the address.

Signed-off-by: Puranjay Mohan <[email protected]>
@kernel-patches-daemon-bpf-rc
Copy link
Author

At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1005228 irrelevant now. Closing PR.

@kernel-patches-daemon-bpf-rc kernel-patches-daemon-bpf-rc bot deleted the series/1005228=>bpf-next branch September 23, 2025 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants