[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180503230824.3462-1-daniel@iogearbox.net>
Date: Fri, 4 May 2018 01:08:11 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: ast@...nel.org
Cc: netdev@...r.kernel.org, Daniel Borkmann <daniel@...earbox.net>
Subject: [PATCH bpf-next v2 00/13] Move ld_abs/ld_ind to native BPF
This set simplifies BPF JITs significantly by moving ld_abs/ld_ind
to native BPF, for details see individual patches. Main rationale
is in patch 'implement ld_abs/ld_ind in native bpf'. Thanks!
v1 -> v2:
- Added missing seen_lds_abs in LDX_MSH and use X = A
initially due to being preserved on func call.
- Added a large batch of cBPF tests into test_bpf.
- Added x32 removal of LD_ABS/LD_IND, so all JITs are
covered.
Daniel Borkmann (13):
bpf: prefix cbpf internal helpers with bpf_
bpf: migrate ebpf ld_abs/ld_ind tests to test_verifier
bpf: implement ld_abs/ld_ind in native bpf
bpf: add skb_load_bytes_relative helper
bpf, x64: remove ld_abs/ld_ind
bpf, arm64: remove ld_abs/ld_ind
bpf, sparc64: remove ld_abs/ld_ind
bpf, arm32: remove ld_abs/ld_ind
bpf, mips64: remove ld_abs/ld_ind
bpf, ppc64: remove ld_abs/ld_ind
bpf, s390x: remove ld_abs/ld_ind
bpf, x32: remove ld_abs/ld_ind
bpf: sync tools bpf.h uapi header
arch/arm/net/bpf_jit_32.c | 77 ----
arch/arm64/net/bpf_jit_comp.c | 65 ----
arch/mips/net/ebpf_jit.c | 104 -----
arch/powerpc/net/Makefile | 2 +-
arch/powerpc/net/bpf_jit64.h | 37 +-
arch/powerpc/net/bpf_jit_asm64.S | 180 ---------
arch/powerpc/net/bpf_jit_comp64.c | 109 +-----
arch/s390/net/Makefile | 2 +-
arch/s390/net/bpf_jit.S | 116 ------
arch/s390/net/bpf_jit.h | 20 +-
arch/s390/net/bpf_jit_comp.c | 127 +------
arch/sparc/net/Makefile | 5 +-
arch/sparc/net/bpf_jit_64.h | 29 --
arch/sparc/net/bpf_jit_asm_64.S | 162 --------
arch/sparc/net/bpf_jit_comp_64.c | 79 +---
arch/x86/net/Makefile | 3 +-
arch/x86/net/bpf_jit.S | 154 --------
arch/x86/net/bpf_jit_comp.c | 144 +------
arch/x86/net/bpf_jit_comp32.c | 136 +------
include/linux/bpf.h | 4 +-
include/linux/filter.h | 4 +-
include/uapi/linux/bpf.h | 33 +-
kernel/bpf/core.c | 96 +----
kernel/bpf/verifier.c | 24 ++
lib/test_bpf.c | 570 +++++++++++++++++-----------
net/core/filter.c | 305 +++++++++++++--
tools/include/uapi/linux/bpf.h | 33 +-
tools/testing/selftests/bpf/test_verifier.c | 266 ++++++++++++-
28 files changed, 1035 insertions(+), 1851 deletions(-)
delete mode 100644 arch/powerpc/net/bpf_jit_asm64.S
delete mode 100644 arch/s390/net/bpf_jit.S
delete mode 100644 arch/sparc/net/bpf_jit_asm_64.S
delete mode 100644 arch/x86/net/bpf_jit.S
--
2.9.5
Powered by blists - more mailing lists