ubuntu_bpf test crashed on i386 zesty

Bug #1711512 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

test_maps bpf test crashed on the i386 testing node with Zesty kernel (4.10.0-33.37)

echo 'Running test_maps bpf test..'
bpf/test_maps
/home/ubuntu/autotest/client/tests/ubuntu_bpf/ubuntu_bpf.sh: line 106: 25432 Segmentation fault (core dumped) bpf/test_maps > ${TMP}
Programs crashed during test execution
Please verify /home/ubuntu/autotest/client/results/default/ubuntu_bpf.ubuntu-bjf/debug/crash.test_maps.25432 for more info

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

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 1711512

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
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
tags: added: kernel-da-key
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Tested with code from upstream on 4.10.0-38-generic, this issue still exist.

$ sudo ./test_maps
test_maps: test_maps.c:86: test_hashmap: Assertion `bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 && errno == E2BIG' failed.
Aborted (core dumped)

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
Download full text (8.5 KiB)

To be more precise, this test suite failed with
 #83 unpriv: spill/fill of different pointers ldx FAIL

A more detailed report:
 Running test_verifier bpf test..
 + echo 'Running test_verifier bpf test..'
 + bpf/test_verifier
 + tee /tmp/test_verifier_16808.log
 #0 add+sub+mul OK
 #1 unreachable OK
 #2 unreachable2 OK
 #3 out of range jump OK
 #4 out of range jump2 OK
 #5 test1 ld_imm64 OK
 #6 test2 ld_imm64 OK
 #7 test3 ld_imm64 OK
 #8 test4 ld_imm64 OK
 #9 test5 ld_imm64 OK
 #10 no bpf_exit OK
 #11 loop (back-edge) OK
 #12 loop2 (back-edge) OK
 #13 conditional loop OK
 #14 read uninitialized register OK
 #15 read invalid register OK
 #16 program doesn't init R0 before exit OK
 #17 program doesn't init R0 before exit in all branches OK
 #18 stack out of bounds OK
 #19 invalid call insn1 OK
 #20 invalid call insn2 OK
 #21 invalid function call OK
 #22 uninitialized stack1 OK
 #23 uninitialized stack2 OK
 #24 invalid argument register OK
 #25 non-invalid argument register OK
 #26 check valid spill/fill OK
 #27 check valid spill/fill, skb mark OK
 #28 check corrupted spill/fill OK
 #29 invalid src register in STX OK
 #30 invalid dst register in STX OK
 #31 invalid dst register in ST OK
 #32 invalid src register in LDX OK
 #33 invalid dst register in LDX OK
 #34 junk insn OK
 #35 junk insn2 OK
 #36 junk insn3 OK
 #37 junk insn4 OK
 #38 junk insn5 OK
 #39 misaligned read from stack OK
 #40 invalid map_fd for function call OK
 #41 don't check return value before access OK
 #42 access memory with incorrect alignment OK
 #43 sometimes access memory with incorrect alignment OK
 #44 jump test 1 OK
 #45 jump test 2 OK
 #46 jump test 3 OK
 #47 jump test 4 OK
 #48 jump test 5 OK
 #49 access skb fields ok OK
 #50 access skb fields bad1 OK
 #51 access skb fields bad2 OK
 #52 access skb fields bad3 OK
 #53 access skb fields bad4 OK
 #54 check skb->mark is not writeable by sockets OK
 #55 check skb->tc_index is not writeable by sockets OK
 #56 check non-u32 access to cb OK
 #57 check out of range skb->cb access OK
 #58 write skb fields from socket prog OK
 #59 write skb fields from tc_cls_act prog OK
 #60 PTR_TO_STACK store/load OK
 #61 PTR_TO_STACK store/load - bad alignment on off OK
 #62 PTR_TO_STACK store/load - bad alignment on reg OK
 #63 PTR_TO_STACK store/load - out of bounds low OK
 #64 PTR_TO_STACK store/load - out of bounds high OK
 ++ grep FAILED /tmp/test_verifier_16808.log
 ++ awk '{print $4}'
 + failed=1
 + rm -f /tmp/test_verifier_16808.log
 + echo -n 'test_verifier: '
 + '[' 1 -gt 0 '
 + echo FAILED
 + rc=1
 + '[' 0 -ne 0 '
 + TMP=/tmp/test_maps_16808.log
 + echo ''
 + echo 'Running test_maps bpf test..'
 + bpf/test_maps
 #65 unpriv: return pointer OK
 #66 unpriv: add const to pointer OK
 #67 unpriv: add pointer to pointer OK
 #68 unpriv: neg pointer OK
 #69 unpriv: cmp pointer with const OK
 #70 unpriv: cmp pointer with pointer OK
 #71 unpriv: check that printk is disallowed OK
 #72 unpriv: pass pointer to helper function OK
 #73 unpriv: indirectly pass pointer on stack to helper function OK
 #74 unpriv: mangle pointer on stack 1 OK
 #75 unpriv: mangle pointer on stack 2 OK
 #76 unpriv: read pointer from stack in small chunks OK
 #77 unpri...

Read more...

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Zesty EOL. Closing this bug.

Changed in linux (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.