Re: [PATCH bpf-next 0/5] bpf, x86: enable EXECMEM_ROX_CACHE for BPF allocations

From: Mike Rapoport

Date: Thu Jul 09 2026 - 04:08:53 EST


Gentle ping

On Fri, Jun 26, 2026 at 09:42:27PM +0300, Mike Rapoport (Microsoft) wrote:
> Hi,
>
> BPF allocations of executable memory on x86 are essentially read-only. Most
> paths that call bpf_jit_alloc_exec() immediately make it ROX with
> set_memory_rox().
>
> The code generation, at least on x86, uses separately allocated writable
> buffers and then updates the actual text memory with text_poke().
>
> These patches do several small adjustments to how BPF allocates executable
> memory and enable EXECMEM_ROX_CACHE for BPF allocations on x86.
>
> ---
> Mike Rapoport (Microsoft) (5):
> bpf: dispatcher: allocate bpf_dispatcher->rw_image with vmalloc()
> bpf: drop __weak from bpf_jit_alloc_exec() and bpf_jit_free_exec()
> bpf: alloc_prog_pack(): skip ROX management for already ROX memory
> bpf, x86: make sure allocation in arch_bpf_trampoline_size() is writable
> x86/bpf: enable EXECMEM_ROX_CACHE for BPF allocations
>
> arch/x86/mm/init.c | 4 ++--
> arch/x86/net/bpf_jit_comp.c | 5 ++---
> include/linux/filter.h | 1 +
> kernel/bpf/core.c | 30 +++++++++++++++++++++---------
> kernel/bpf/dispatcher.c | 5 ++++-
> 5 files changed, 30 insertions(+), 15 deletions(-)
> ---
> base-commit: 53435562a725962e4de0c29653223129ba11643a
> change-id: 20260626-execmem-x86-rox-bpf-v0-b4241ade80df
>
> Best regards,
> --
> Sincerely yours,
> Mike.
>

--
Sincerely yours,
Mike.