Public bug reported:
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
** Affects: ubuntu-z-systems
Importance: Medium
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: New
** Affects: linux (Ubuntu)
Importance: Undecided
Assignee: Skipper Bug Screeners (skipper-screen-team)
Status: New
** Tags: architecture-s39064 bugnameltc-187029 severity-medium
targetmilestone-inin1804
** Tags added: architecture-s39064 bugnameltc-187029 severity-medium
targetmilestone-inin1804
** Changed in: ubuntu
Assignee: (unassigned) => Skipper Bug Screeners (skipper-screen-team)
** Package changed: ubuntu => linux (Ubuntu)
--
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:
New
Status in linux package in Ubuntu:
New
Bug description:
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 =