------- Comment From heinz-werner_se...@de.ibm.com 2020-09-01 03:25 EDT------- und BPF ist derzeit nicht mehr dringend, da arbeiten wir jetzt upstream, und werden zu einem sp?teren zeitpunt wiederkommen falls es ein target date gibt, aber das schreib ich dir noch in den LP
Status update from IBM : Currently this feature is not that urgend anymore. Priorities have moved it to the right. But I will come back, once this get in plan again and targetted ... Many thx for your support -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1888507 Title: [UBUNTU 18.04] BPF programs fail on Ubuntu s390x Status in Ubuntu on IBM z Systems: In Progress Status in linux package in Ubuntu: New Status in linux source package in Bionic: Triaged Status in linux source package in Focal: In Progress Bug description: [Impact] Some bpf programs will fail to execute on s390x, returning EFAULT when they should be able to read user memory. [Test case] apt-get source linux mkdir -p /usr/lib/perf/ cp -a linux-5.4.0/tools/perf/include /usr/lib/perf/ probe_read=$(grep -w probe_read /usr/lib/perf/include/bpf/bpf.h) probe_read_user=${probe_read//read/read_user} sed -i "/probe_read)/i$probe_read_user" /usr/lib/perf/include/bpf/bpf.h probe_read_user_str=${probe_read//read/read_user_str} sed -i "/probe_read)/i$probe_read_user_str" /usr/lib/perf/include/bpf/bpf.h ed - linux-5.4.0/tools/perf/examples/bpf/augmented_raw_syscalls.c << EOF 100c int string_len = probe_read_user_str(&augmented_arg->value, arg_len, arg); . w EOF perf trace -eopenat,augmented_raw_syscalls.c cat /etc/passwd > /dev/null You should see: 0.332 ( 0.002 ms): cat/3223 openat(dfd: CWD, filename: "/etc/passwd") = 3 instead of 0.334 ( 0.003 ms): cat/3739 openat(dfd: CWD, filename: "") = 3 [Potential regressions] One potential regression is that unprivileged code can be able to exploit the changes to read or write kernel memory. -------------------------------------------------------------------------- We need to run BPF filters to analyse and monitor network traffic. The BPF filters are created by skydive (http://skydive.network). Currently skydive fails to install BPF filters on s390x (using Ubuntu 18.04 currently, soon moving to Ubuntu 20.04). Because of these failures, we decided to try the BPF samples that come with the kernel first. These samples also fail on s390x while they work fine on Intel. shense@boe-build:~/bionic/samples/bpf$ uname -a Linux boe-build 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:40:36 UTC 2020 s390x s390x s390x GNU/Linux Example instructions: sudo apt install -y dpkg-dev clang llvm libelf-dev sudo apt-get source linux-image-unsigned-$(uname -r) cd linux-4.15.0/ make headers_install make samples/bpf/ Errors: shense@boe-build:~/bionic/samples/bpf$ sudo ./test_map_in_map [sudo] password for shense: invalid relo for insn[4].code 0x85 bpf_load_program() err=22 0: (bf) r7 = r1 1: (b7) r1 = 0 2: (63) *(u32 *)(r10 -32) = r1 3: (bf) r1 = r7 4: (85) call unknown#-1 BPF_CALL uses reserved fields 0: (bf) r7 = r1 1: (b7) r1 = 0 2: (63) *(u32 *)(r10 -32) = r1 3: (bf) r1 = r7 4: (85) call unknown#-1 BPF_CALL uses reserved fields shense@boe-build:~/bionic/samples/bpf$ sudo ./map_perf_test invalid relo for insn[22].code 0x85 bpf_load_program() err=22 0: (bf) r7 = r1 1: (18) r1 = 0x207265743a25646e 3: (7b) *(u64 *)(r10 -16) = r1 4: (18) r1 = 0x705f616c6c6f632e 6: (7b) *(u64 *)(r10 -24) = r1 7: (18) r1 = 0x5f6c72755f686d61 9: (7b) *(u64 *)(r10 -32) = r1 10: (18) r1 = 0x7420737472657373 12: (7b) *(u64 *)(r10 -40) = r1 13: (18) r1 = 0x4661696c65642061 15: (7b) *(u64 *)(r10 -48) = r1 16: (b7) r1 = 0 17: (73) *(u8 *)(r10 -8) = r1 18: (b7) r2 = 1 19: (7b) *(u64 *)(r10 -72) = r2 20: (63) *(u32 *)(r10 -76) = r1 21: (bf) r1 = r7 22: (85) call unknown#-1 BPF_CALL uses reserved fields 0: (bf) r7 = r1 1: (18) r1 = 0x207265743a25646e 3: (7b) *(u64 *)(r10 -16) = r1 4: (18) r1 = 0x705f616c6c6f632e 6: (7b) *(u64 *)(r10 -24) = r1 7: (18) r1 = 0x5f6c72755f686d61 9: (7b) *(u64 *)(r10 -32) = r1 10: (18) r1 = 0x7420737472657373 12: (7b) *(u64 *)(r10 -40) = r1 13: (18) r1 = 0x4661696c65642061 15: (7b) *(u64 *)(r10 -48) = r1 16: (b7) r1 = 0 17: (73) *(u8 *)(r10 -8) = r1 18: (b7) r2 = 1 19: (7b) *(u64 *)(r10 -72) = r2 20: (63) *(u32 *)(r10 -76) = r1 21: (bf) r1 = r7 22: (85) call unknown#-1 BPF_CALL uses reserved fields To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1888507/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp