From c5888337639d8bf59ff5f292302872fed320c2bf Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 17 Aug 2018 22:17:13 +0100 Subject: Add fix and re-enable BPF JIT on ARMv7 --- arm-fix-bpf-jit.patch | 25 ++++++++++++++++++++++ configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT | 1 - .../generic/arm/armv7/CONFIG_BPF_JIT_ALWAYS_ON | 1 - kernel-armv7hl-debug.config | 4 ++-- kernel-armv7hl-lpae-debug.config | 4 ++-- kernel-armv7hl-lpae.config | 4 ++-- kernel-armv7hl.config | 4 ++-- kernel.spec | 5 +++++ 8 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 arm-fix-bpf-jit.patch delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT_ALWAYS_ON diff --git a/arm-fix-bpf-jit.patch b/arm-fix-bpf-jit.patch new file mode 100644 index 000000000..f76af6698 --- /dev/null +++ b/arm-fix-bpf-jit.patch @@ -0,0 +1,25 @@ +From 06a5c5fa1f0675523d573c210d4350b775b2c679 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Fri, 17 Aug 2018 15:35:18 +0100 +Subject: [PATCH] test arm bpf jit + +--- + arch/arm/net/bpf_jit_32.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/net/bpf_jit_32.c b/arch/arm/net/bpf_jit_32.c +index f6a62ae44a65b..c864f6b045ba5 100644 +--- a/arch/arm/net/bpf_jit_32.c ++++ b/arch/arm/net/bpf_jit_32.c +@@ -238,7 +238,7 @@ static void jit_fill_hole(void *area, unsigned int size) + #define STACK_SIZE ALIGN(_STACK_SIZE, STACK_ALIGNMENT) + + /* Get the offset of eBPF REGISTERs stored on scratch space. */ +-#define STACK_VAR(off) (STACK_SIZE - off) ++#define STACK_VAR(off) (STACK_SIZE - off - 4) + + #if __LINUX_ARM_ARCH__ < 7 + +-- +2.17.1 + diff --git a/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT b/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT deleted file mode 100644 index 7905dce5c..000000000 --- a/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BPF_JIT is not set diff --git a/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT_ALWAYS_ON b/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT_ALWAYS_ON deleted file mode 100644 index faae023d4..000000000 --- a/configs/fedora/generic/arm/armv7/CONFIG_BPF_JIT_ALWAYS_ON +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_BPF_JIT_ALWAYS_ON is not set diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config index 52425111d..320bd0f01 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug.config @@ -684,8 +684,8 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set -# CONFIG_BPF_JIT_ALWAYS_ON is not set -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT=y CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config index 19736af1c..e63f929e6 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug.config @@ -659,8 +659,8 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set -# CONFIG_BPF_JIT_ALWAYS_ON is not set -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT=y CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config index 5667b288f..6ec5d8ef2 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae.config @@ -658,8 +658,8 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set -# CONFIG_BPF_JIT_ALWAYS_ON is not set -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT=y # CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config index f66199799..9e86f4a7d 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl.config @@ -683,8 +683,8 @@ CONFIG_BONDING=m CONFIG_BOOT_PRINTK_DELAY=y CONFIG_BOUNCE=y # CONFIG_BPFILTER is not set -# CONFIG_BPF_JIT_ALWAYS_ON is not set -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT=y # CONFIG_BPF_KPROBE_OVERRIDE is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_BPF_SYSCALL=y diff --git a/kernel.spec b/kernel.spec index 32e7ded32..db3877758 100644 --- a/kernel.spec +++ b/kernel.spec @@ -607,6 +607,8 @@ Patch334: drm-vc4-Fix-the-no-scaling-case-on-multi-planar-YUV-formats.patch Patch350: arm64-arch_timer-Workaround-for-Allwinner-A64-timer-instability.patch Patch351: arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch +Patch399: arm-fix-bpf-jit.patch + # 400 - IBM (ppc/s390x) patches # 500 - Temp fixes/CVEs etc @@ -1904,6 +1906,9 @@ fi # # %changelog +* Fri Aug 17 2018 Peter Robinson +- Add fix and re-enable BPF JIT on ARMv7 + * Thu Aug 16 2018 Laura Abbott - 4.18.1-300 - Linux v4.18.1 -- cgit