net: bpf: consolidate JIT binary allocator
authorDaniel Borkmann <dborkman@redhat.com>
Mon, 8 Sep 2014 06:04:47 +0000 (08:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Sep 2014 23:58:56 +0000 (16:58 -0700)
commit738cbe72adc5c8f2016c4c68aa5162631d4f27e1
tree4c207c0a763ea8998dddda89a7a1d9eb98866b60
parentca777eff51f7fbaebd954e645d8ecb781a906b4a
net: bpf: consolidate JIT binary allocator

Introduced in commit 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit
against spraying attacks") and later on replicated in aa2d2c73c21f
("s390/bpf,jit: address randomize and write protect jit code") for
s390 architecture, write protection for BPF JIT images got added and
a random start address of the JIT code, so that it's not on a page
boundary anymore.

Since both use a very similar allocator for the BPF binary header,
we can consolidate this code into the BPF core as it's mostly JIT
independant anyway.

This will also allow for future archs that support DEBUG_SET_MODULE_RONX
to just reuse instead of reimplementing it.

JIT tested on x86_64 and s390x with BPF test suite.

Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/s390/net/bpf_jit_comp.c
arch/x86/net/bpf_jit_comp.c
include/linux/filter.h
kernel/bpf/core.c