test_verifier in ubuntu_bpf test failed with "Failed to load prog" on C/D s390x

Bug #1801033 reported by Po-Hsu Lin on 2018-11-01
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned
Cosmic
Undecided
Unassigned
Disco
Undecided
Unassigned

Bug Description

There are 29 failures reported by the ubuntu_bpf test on Cosmic s390x KVM / Ubuntu on LPAR

Failed test cases:

#200/p runtime/jit: pass > 32bit index to tail_call FAIL retval 2 != 42
[stdout] 0: (18) r3 = 0x100000000
[stdout] 2: (18) r2 = 0x3a9cdc000
[stdout] 4: (85) call bpf_tail_call#12
[stdout] 5: (b7) r0 = 2
[stdout] 6: (95) exit
[stdout] processed 5 insns (limit 131072), stack depth 0

#540/p calls: basic sanity FAIL
[stdout] Failed to load prog 'Unknown error 524'!
[stdout] 0: (85) call pc+2
[stdout] caller:
[stdout] R10=fp0,call_-1
[stdout] callee:
[stdout] frame1: R1=ctx(id=0,off=0,imm=0) R10=fp0,call_0
[stdout] 3: (b7) r0 = 2
[stdout] 4: (95) exit
[stdout] returning from callee:
[stdout] frame1: R0_w=inv2 R1=ctx(id=0,off=0,imm=0) R10=fp0,call_0
[stdout] to caller at 1:
[stdout] R0_w=inv2 R10=fp0,call_-1
[stdout]
[stdout] from 4 to 1: R0=inv2 R10=fp0,call_-1
[stdout] 1: (b7) r0 = 1
[stdout] 2: (95) exit
[stdout] processed 5 insns (limit 131072), stack depth 0+0
[stdout] JIT doesn't support bpf-to-bpf calls

#541/p calls: not on unpriviledged FAIL
(identical error message with #540/p)

#542/p calls: div by 0 in subprog FAIL
[stdout] Failed to load prog 'Unknown error 524'!
[stdout] 0: (bf) r6 = r1
[stdout] 1: (85) call pc+8
[stdout] caller:
[stdout] R6=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
[stdout] callee:
[stdout] frame1: R1=ctx(id=0,off=0,imm=0) R10=fp0,call_1
[stdout] 10: (b4) (u32) r2 = (u32) 0
[stdout] 11: (b4) (u32) r3 = (u32) 1
[stdout] 12: (3c) (u32) r3 /= (u32) r2
[stdout] 13: (61) r0 = *(u32 *)(r1 +76)
[stdout] 14: (95) exit
[stdout] returning from callee:
[stdout] frame1: R0_w=pkt(id=0,off=0,r=0,imm=0) R1=ctx(id=0,off=0,imm=0) R2_w=inv0 R3_w=inv(id=0,umax_value=4294967295,var_off=(0x0; 0xffffffff)) R10=fp0,call_1
[stdout] to caller at 2:
[stdout] R0_w=pkt(id=0,off=0,r=0,imm=0) R6=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
[stdout]
[stdout] from 14 to 2: R0=pkt(id=0,off=0,r=0,imm=0) R6=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
[stdout] 2: (bf) r1 = r6
[stdout] 3: (61) r1 = *(u32 *)(r1 +80)
[stdout] 4: (bf) r2 = r0
[stdout] 5: (07) r2 += 8
[stdout] 6: (2d) if r2 > r1 goto pc+1
[stdout] R0=pkt(id=0,off=0,r=8,imm=0) R1=pkt_end(id=0,off=0,imm=0) R2=pkt(id=0,off=8,r=8,imm=0) R6=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
[stdout] 7: (71) r0 = *(u8 *)(r0 +0)
[stdout] 8: (b7) r0 = 1
[stdout] 9: (95) exit

#551/p calls: conditional call 2 FAIL
(error message has been clipped for this and the following tests, please refer to the complete test report link below)

#553/p calls: conditional call 4 FAIL
#556/p calls: using r0 returned by callee FAIL
#558/p calls: callee is using r1 FAIL
#559/p calls: callee using args1 FAIL
#561/p calls: callee using two args FAIL
#563/p calls: two calls with args FAIL
#564/p calls: calls with stack arith FAIL
#581/p calls: two calls with stack read FAIL
#582/p calls: two calls with stack write FAIL
#585/p calls: stack depth check using three frames. test1 FAIL
#586/p calls: stack depth check using three frames. test2 FAIL
#591/p calls: write into caller stack frame FAIL
#593/p calls: two calls with stack write and void return FAIL
#595/p calls: two calls that return map_value FAIL
#596/p calls: two calls that return map_value with bool condition FAIL
#599/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test2 FAIL
#601/p calls: two calls that receive map_value_ptr_or_null via arg. test1 FAIL
#603/p calls: pkt_ptr spill into caller stack FAIL
#605/p calls: pkt_ptr spill into caller stack 3 FAIL
#606/p calls: pkt_ptr spill into caller stack 4 FAIL
#610/p calls: pkt_ptr spill into caller stack 8 FAIL
#612/p calls: caller stack init to zero or map_value_or_null FAIL
#614/p calls: two calls returning different map pointers for lookup (hash, array) FAIL
#639/p ld_abs: jump around ld_abs FAIL
Summary: 869 PASSED, 0 SKIPPED, 29 FAILED

Please find the complete test report here: http://paste.ubuntu.com/p/BWHSRC4Fwx/

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: linux-image-4.18.0-11-generic 4.18.0-11.12
ProcVersionSignature: Ubuntu 4.18.0-11.12-generic 4.18.12
Uname: Linux 4.18.0-11-generic s390x
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access '/dev/snd/': No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay': 'aplay'
ApportVersion: 2.20.10-0ubuntu13
Architecture: s390x
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord': 'arecord'
CRDA: Error: command ['iw', 'reg', 'get'] failed with exit code 1: nl80211 not found.
CurrentDmesg:

Date: Thu Nov 1 09:08:11 2018
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig': 'iwconfig'
Lspci:

Lsusb: Error: command ['lsusb'] failed with exit code 1:
PciMultimedia:

ProcFB: Error: [Errno 2] No such file or directory: '/proc/fb'
ProcKernelCmdLine: root=UUID=86fb6fff-dc2f-4ffd-9ea8-a15d77ae3eaa crashkernel=196M
RelatedPackageVersions:
 linux-restricted-modules-4.18.0-11-generic N/A
 linux-backports-modules-4.18.0-11-generic N/A
 linux-firmware 1.175
RfKill: Error: [Errno 2] No such file or directory: 'rfkill': 'rfkill'
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)

Po-Hsu Lin (cypressyew) wrote :

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1801033

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Po-Hsu Lin (cypressyew) on 2018-11-01
description: updated
Po-Hsu Lin (cypressyew) on 2018-11-01
description: updated

Tested with 4.18.16 and 4.19.0-041900-generic mainline kernel, issue still exist

#200/p runtime/jit: pass > 32bit index to tail_call FAIL retval 2 != 42
#540/p calls: basic sanity FAIL
#541/p calls: not on unpriviledged FAIL
#542/p calls: div by 0 in subprog FAIL
#551/p calls: conditional call 2 FAIL
#553/p calls: conditional call 4 FAIL
#556/p calls: using r0 returned by callee FAIL
#558/p calls: callee is using r1 FAIL
#559/p calls: callee using args1 FAIL
#561/p calls: callee using two args FAIL
#563/p calls: two calls with args FAIL
#564/p calls: calls with stack arith FAIL
#581/p calls: two calls with stack read FAIL
#582/p calls: two calls with stack write FAIL
#585/p calls: stack depth check using three frames. test1 FAIL
#586/p calls: stack depth check using three frames. test2 FAIL
#591/p calls: write into caller stack frame FAIL
#593/p calls: two calls with stack write and void return FAIL
#595/p calls: two calls that return map_value FAIL
#596/p calls: two calls that return map_value with bool condition FAIL
#599/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test2 FAIL
#601/p calls: two calls that receive map_value_ptr_or_null via arg. test1 FAIL
#603/p calls: pkt_ptr spill into caller stack FAIL
#605/p calls: pkt_ptr spill into caller stack 3 FAIL
#606/p calls: pkt_ptr spill into caller stack 4 FAIL
#610/p calls: pkt_ptr spill into caller stack 8 FAIL
#612/p calls: caller stack init to zero or map_value_or_null FAIL
#614/p calls: two calls returning different map pointers for lookup (hash, array) FAIL
#639/p ld_abs: jump around ld_abs FAIL
Summary: 869 PASSED, 0 SKIPPED, 29 FAILED

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: kernel-bug-exists-upstream
Po-Hsu Lin (cypressyew) wrote :

Tried to run this test with upstream toolset, https://github.com/torvalds/linux.git with commit 8adcc59 on 4.18.0-11-generic s390x kernel.

There are more failures than current toolset, these 29 failures still exist among them.
Test result could be found here: http://paste.ubuntu.com/p/xYBwnnPWty/

Po-Hsu Lin (cypressyew) on 2018-11-02
description: updated
Po-Hsu Lin (cypressyew) on 2018-11-02
Changed in ubuntu-kernel-tests:
status: New → Confirmed
Po-Hsu Lin (cypressyew) on 2018-11-29
summary: - ubuntu_bpf test failed on Cosmic s390x
+ test_verifier in ubuntu_bpf test failed with "Failed to load prog" on
+ Cosmic s390x
Po-Hsu Lin (cypressyew) on 2019-05-09
summary: test_verifier in ubuntu_bpf test failed with "Failed to load prog" on
- Cosmic s390x
+ C/D s390x
Changed in linux (Ubuntu Disco):
status: New → Confirmed
Changed in linux (Ubuntu Cosmic):
status: New → Confirmed
Po-Hsu Lin (cypressyew) on 2019-08-12
tags: added: sru-20190722 ubuntu-bpf
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers