ubuntu_bpf XDP failures on v4.15
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-kernel-tests |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
2022.01.
test: ubuntu_bpf
Several XDP failures:
------------
14563 02:11:05 DEBUG| [stdout] #470/p XDP pkt read, pkt_end > pkt_data', good access OK
14564 02:11:05 DEBUG| [stdout] #471/p XDP pkt read, pkt_end > pkt_data', bad access 1 FAIL
14565 02:11:05 DEBUG| [stdout] Unexpected success to load!
14566 02:11:05 DEBUG| [stdout] 0: (61) r2 = *(u32 *)(r1 +0)
14567 02:11:05 DEBUG| [stdout] 1: (61) r3 = *(u32 *)(r1 +4)
14568 02:11:05 DEBUG| [stdout] 2: (bf) r1 = r2
14569 02:11:05 DEBUG| [stdout] 3: (07) r1 += 8
14570 02:11:05 DEBUG| [stdout] 4: (2d) if r3 > r1 goto pc+1
14571 02:11:05 DEBUG| [stdout] R1=pkt(
14572 02:11:05 DEBUG| [stdout] 5: (05) goto pc+1
14573 02:11:05 DEBUG| [stdout] 7: (b7) r0 = 0
14574 02:11:05 DEBUG| [stdout] 8: (95) exit
14575 02:11:05 DEBUG| [stdout]
14576 02:11:05 DEBUG| [stdout] from 4 to 6: R1=pkt(
14577 02:11:05 DEBUG| [stdout] 6: (79) r0 = *(u64 *)(r1 -8)
14578 02:11:05 DEBUG| [stdout] 7: (b7) r0 = 0
14579 02:11:05 DEBUG| [stdout] 8: (95) exit
14580 02:11:05 DEBUG| [stdout] processed 11 insns, stack depth 0
14581 02:11:05 DEBUG| [stdout] #472/p XDP pkt read, pkt_end > pkt_data', bad access 2 OK
14582 02:11:05 DEBUG| [stdout] #473/p XDP pkt read, pkt_data' < pkt_end, good access OK
14583 02:11:05 DEBUG| [stdout] #474/p XDP pkt read, pkt_data' < pkt_end, bad access 1 FAIL
14584 02:11:05 DEBUG| [stdout] Unexpected success to load!
14585 02:11:05 DEBUG| [stdout] 0: (61) r2 = *(u32 *)(r1 +0)
14586 02:11:05 DEBUG| [stdout] 1: (61) r3 = *(u32 *)(r1 +4)
14587 02:11:05 DEBUG| [stdout] 2: (bf) r1 = r2
14588 02:11:05 DEBUG| [stdout] 3: (07) r1 += 8
14589 02:11:05 DEBUG| [stdout] 4: (ad) if r1 < r3 goto pc+1
14590 02:11:05 DEBUG| [stdout] R1=pkt(
14591 02:11:05 DEBUG| [stdout] 5: (05) goto pc+1
14592 02:11:05 DEBUG| [stdout] 7: (b7) r0 = 0
14593 02:11:05 DEBUG| [stdout] 8: (95) exit
14594 02:11:05 DEBUG| [stdout]
14595 02:11:05 DEBUG| [stdout] from 4 to 6: R1=pkt(
14596 02:11:05 DEBUG| [stdout] 6: (79) r0 = *(u64 *)(r1 -8)
14597 02:11:05 DEBUG| [stdout] 7: (b7) r0 = 0
14598 02:11:05 DEBUG| [stdout] 8: (95) exit
14599 02:11:05 DEBUG| [stdout] processed 11 insns, stack depth 0
14600 02:11:05 DEBUG| [stdout] #475/p XDP pkt read, pkt_data' < pkt_end, bad access 2 OK
14601 02:11:05 DEBUG| [stdout] #476/p XDP pkt read, pkt_end < pkt_data', good access OK
14602 02:11:05 DEBUG| [stdout] #477/p XDP pkt read, pkt_end < pkt_data', bad access 1 OK
14603 02:11:05 DEBUG| [stdout] #478/p XDP pkt read, pkt_end < pkt_data', bad access 2 OK
14604 02:11:05 DEBUG| [stdout] #479/p XDP pkt read, pkt_data' >= pkt_end, good access OK
14605 02:11:05 DEBUG| [stdout] #480/p XDP pkt read, pkt_data' >= pkt_end, bad access 1 FAIL
14606 02:11:05 DEBUG| [stdout] Unexpected success to load!
14607 02:11:05 DEBUG| [stdout] 0: (61) r2 = *(u32 *)(r1 +0)
14608 02:11:05 DEBUG| [stdout] 1: (61) r3 = *(u32 *)(r1 +4)
14609 02:11:05 DEBUG| [stdout] 2: (bf) r1 = r2
14610 02:11:05 DEBUG| [stdout] 3: (07) r1 += 8
14611 02:11:05 DEBUG| [stdout] 4: (3d) if r1 >= r3 goto pc+1
14612 02:11:05 DEBUG| [stdout] R1=pkt(
14613 02:11:05 DEBUG| [stdout] 5: (79) r0 = *(u64 *)(r1 -8)
14614 02:11:05 DEBUG| [stdout] 6: (b7) r0 = 0
14615 02:11:05 DEBUG| [stdout] 7: (95) exit
14616 02:11:05 DEBUG| [stdout]
14617 02:11:05 DEBUG| [stdout] from 4 to 6: safe
14618 02:11:05 DEBUG| [stdout] processed 9 insns, stack depth 0
------------
Possible cause:
Insufficient/
Our v4.15 skips entirely test udpate because path does not match (because oif later commit 48729226238d ("selftests: bpf: break up the rest of test_verifier")).
tags: | added: 4.15 azure bionic sru-20220131 ubuntu-bpf |
Reverting our backport of commit 2fa7d94afc1a ("bpf: Fix the off-by-two error in range markings") fixes the test failure, so indeed these are missing parts of 2fa7d94afc1a test-case update.