[offlist] Re: Crash in netlink/sk_filter_trim_cap on ARMv7 on 4.18rc1
From: Stefan Wahren <hidden>
Date: 2018-08-17 18:51:29
Also in:
netdev
Hi Daniel,
Daniel Borkmann [off-list ref] hat am 17. August 2018 um 20:30 geschrieben: On 08/17/2018 06:17 PM, Russell King - ARM Linux wrote:quoted
On Fri, Aug 17, 2018 at 02:40:19PM +0200, Daniel Borkmann wrote:quoted
I'd have one potential bug suspicion, for the 4.18 one you were trying, could you run with the below patch to see whether it would help?I think this is almost certainly the problem - looking at the history, it seems that the "-4" was assumed to be part of the scratch stuff in commit 38ca93060163 ("bpf, arm32: save 4 bytes of unneeded stack space") but it isn't - it's because "off" of zero refers to the top word in the stack (iow at STACK_SIZE-4).Yeah agree, my thinking as well (albeit bit late, sigh, sorry about that). Waiting for Peter to get back with results for definite confirmation. Your rework in 1c35ba122d4a ("ARM: net: bpf: use negative numbers for stacked registers") and 96cced4e774a ("ARM: net: bpf: access eBPF scratch space using ARM FP register") fixes this in mainline, so unless I'm missing something this would only need a stand-alone fix for 4.18/stable which I can cook up and submit then.
i was able to reproduce this issue on RPi 3 with Linux 4.18.1 + multi_v7_defconfig and the following config changes: --- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig@@ -2,7 +2,10 @@ CONFIG_SYSVIPC=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_CGROUPS=y +CONFIG_CGROUP_BPF=y CONFIG_BLK_DEV_INITRD=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT_ALWAYS_ON=y CONFIG_EMBEDDED=y CONFIG_PERF_EVENTS=y CONFIG_MODULES=y
@@ -153,6 +156,8 @@ CONFIG_IPV6_MIP6=m CONFIG_IPV6_TUNNEL=m CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_NET_DSA=m +CONFIG_BPF_JIT=y +CONFIG_BPF_STREAM_PARSER=y CONFIG_CAN=y CONFIG_CAN_AT91=m CONFIG_CAN_FLEXCAN=m
After applying the "-4" patch the oopses doesn't appear during boot anymore. Stefan
Thanks, Daniel _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel