Sub-tests in kselftest/net/udpgro.sh is failing with "./udpgso_bench_rx: poll: 0x0 expected 0x1"

Bug #1908501 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Fix Released
Undecided
Po-Hsu Lin
linux (Ubuntu)
Fix Released
Undecided
Po-Hsu Lin
Focal
Fix Committed
Undecided
Po-Hsu Lin
Groovy
Won't Fix
Undecided
Po-Hsu Lin
Hirsute
Fix Released
Undecided
Po-Hsu Lin
linux-oem-5.6 (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Fix Released
Undecided
Po-Hsu Lin

Bug Description

[Impact]
Sub test cases in kselftest/net/udpgro.sh is failing with:
    ./udpgso_bench_rx: poll: 0x0 expected 0x1

Complete test output of a sub test case:
 multiple GRO socks
BTF debug data section '.BTF' rejected: Invalid argument (22)!
 - Length: 568
Verifier analysis:

magic: 0xeb9f
version: 1
flags: 0x0
hdr_len: 24
type_off: 0
type_len: 256
str_off: 256
str_len: 288
btf_total_size: 568
[1] PTR (anon) type_id=2
[2] STRUCT xdp_md size=20 vlen=5
 data type_id=3 bits_offset=0
 data_end type_id=3 bits_offset=32
 data_meta type_id=3 bits_offset=64
 ingress_ifindex type_id=3 bits_offset=96
 rx_queue_index type_id=3 bits_offset=128
[3] TYPEDEF __u32 type_id=4
[4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none)
[5] FUNC_PROTO (anon) return=6 args=(1 ctx)
[6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[7] FUNC xdp_dummy_prog type_id=5
[8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4
[10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none)
[11] VAR _license type_id=9 linkage=1
[12] DATASEC license size=0 vlen=1 size == 0

./udpgso_bench_rx: poll: 0x0 expected 0x1

./udpgso_bench_rx: poll: 0x0 expected 0x1

failed

It's a bit hard to spot this as the udpgro.sh will return 0 even with these failures present (bug 1908499)

[Fix]
* 38bf8cd821be29 ("selftests: fix poll error in udpgro.sh")

We have this test case since Focal
This patch can be cherry-picked into all the affected releases.

[Test Case]
Run the kselftest/net/udpgro.sh as root.

It will no longer complaining about this error message anymore:
 ./udpgso_bench_rx: poll: 0x0 expected 0x1

 multiple GRO socks
BTF debug data section '.BTF' rejected: Invalid argument (22)!
 - Length: 568
Verifier analysis:

magic: 0xeb9f
version: 1
flags: 0x0
hdr_len: 24
type_off: 0
type_len: 256
str_off: 256
str_len: 288
btf_total_size: 568
[1] PTR (anon) type_id=2
[2] STRUCT xdp_md size=20 vlen=5
 data type_id=3 bits_offset=0
 data_end type_id=3 bits_offset=32
 data_meta type_id=3 bits_offset=64
 ingress_ifindex type_id=3 bits_offset=96
 rx_queue_index type_id=3 bits_offset=128
[3] TYPEDEF __u32 type_id=4
[4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none)
[5] FUNC_PROTO (anon) return=6 args=(1 ctx)
[6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[7] FUNC xdp_dummy_prog type_id=5
[8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4
[10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none)
[11] VAR _license type_id=9 linkage=1
[12] DATASEC license size=0 vlen=1 size == 0

ok

[Where problems could occur]
The fix is limited to testing tools, no actual affect to the kernel. The possible issue is that this patch is incorrect and it will make us ignore the real issue in the kernel.

Po-Hsu Lin (cypressyew)
tags: added: 5.6 focal oem sru-20201130 ubuntu-kernel-selftests
tags: added: kqa-blocker
Po-Hsu Lin (cypressyew)
description: updated
Po-Hsu Lin (cypressyew)
no longer affects: linux-oem-5.6 (Ubuntu Groovy)
no longer affects: linux-oem-5.6 (Ubuntu Hirsute)
Changed in linux (Ubuntu Focal):
assignee: nobody → Po-Hsu Lin (cypressyew)
Changed in ubuntu-kernel-tests:
assignee: nobody → Po-Hsu Lin (cypressyew)
status: New → Incomplete
Changed in linux (Ubuntu Focal):
status: New → In Progress
Changed in ubuntu-kernel-tests:
status: Incomplete → In Progress
Changed in linux (Ubuntu Groovy):
status: New → In Progress
Changed in linux (Ubuntu Hirsute):
status: New → In Progress
Changed in linux-oem-5.6 (Ubuntu Focal):
status: New → In Progress
Changed in linux (Ubuntu Hirsute):
assignee: nobody → Po-Hsu Lin (cypressyew)
Changed in linux-oem-5.6 (Ubuntu Focal):
assignee: nobody → Po-Hsu Lin (cypressyew)
Changed in linux (Ubuntu Groovy):
assignee: nobody → Po-Hsu Lin (cypressyew)
Po-Hsu Lin (cypressyew)
description: updated
Changed in linux-oem-5.6 (Ubuntu):
status: New → Invalid
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :
AceLan Kao (acelankao)
Changed in linux-oem-5.6 (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

 # selftests: net: udpgro.sh
 # ipv4
 # no GRO
 # BTF debug data section '.BTF' rejected: Invalid argument (22)!
 # - Length: 568
 # Verifier analysis:
 #
 # magic: 0xeb9f
 # version: 1
 # flags: 0x0
 # hdr_len: 24
 # type_off: 0
 # type_len: 256
 # str_off: 256
 # str_len: 288
 # btf_total_size: 568
 # [1] PTR (anon) type_id=2
 # [2] STRUCT xdp_md size=20 vlen=5
 # data type_id=3 bits_offset=0
 # data_end type_id=3 bits_offset=32
 # data_meta type_id=3 bits_offset=64
 # ingress_ifindex type_id=3 bits_offset=96
 # rx_queue_index type_id=3 bits_offset=128
 # [3] TYPEDEF __u32 type_id=4
 # [4] INT unsigned int size=4 bits_offset=0 nr_bits=32 encoding=(none)
 # [5] FUNC_PROTO (anon) return=6 args=(1 ctx)
 # [6] INT int size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
 # [7] FUNC xdp_dummy_prog type_id=5
 # [8] INT char size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
 # [9] ARRAY (anon) type_id=8 index_type_id=10 nr_elems=4
 # [10] INT __ARRAY_SIZE_TYPE__ size=4 bits_offset=0 nr_bits=32 encoding=(none)
 # [11] VAR _license type_id=9 linkage=1
 # [12] DATASEC license size=0 vlen=1 size == 0
 #
 # ok

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

Passed with 5.6.0-1039.43 OEM

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (23.0 KiB)

This bug was fixed in the package linux-oem-5.6 - 5.6.0-1039.43

---------------
linux-oem-5.6 (5.6.0-1039.43) focal; urgency=medium

  * focal/linux-oem-5.6: 5.6.0-1039.43 -proposed tracker (LP: #1909420)

  * Fix suspend error of SOF driver (LP: #1908713)
    - Revert "ALSA: hda: Refactor codec PM to use direct-complete optimization"

  * Packaging resync (LP: #1786013)
    - [Packaging] update variants

  * Killer 500s (QCA6390) WLAN/BT [17cb:1101] unavailable (LP: #1879633)
    - Bluetooth: btusb: Add flag to define wideband speech capability
    - Bluetooth: Support querying for WBS support through MGMT
    - Bluetooth: Enable erroneous data reporting if WBS is supported
    - Bluetooth: Increment management interface revision
    - Bluetooth: fix off by one in err_data_reporting cmd masks.
    - Bluetooth: mgmt: add mgmt_cmd_status in add_advertising
    - mac80211: add 802.11 encapsulation offloading support
    - mac80211: fix tx status for no ack cases
    - nl80211: add handling for BSS color
    - mac80211: add handling for BSS color
    - mac80211: allow setting queue_len for drivers not using wake_tx_queue
    - Bluetooth: hci_qca: Enable clocks required for BT SOC
    - Bluetooth: hci_qca: Optimized code while enabling clocks for BT SOC
    - mac80211: fix 11w when using encapsulation offloading
    - ath11k: Silence clang -Wsometimes-uninitialized in
      ath11k_update_per_peer_stats_from_txcompl
    - ath11k: drop tx_info from ath11k_sta
    - ath11k: add HE rate accounting to driver
    - ath11k: fix rcu lock protect in peer assoc confirmation
    - ath11k: fix warn-on in disassociation
    - ath11k: fix parsing PPDU_CTRL type in pktlog
    - ath11k: Fixing dangling pointer issue upon peer delete failure
    - ath11k: fix incorrect peer stats counters update
    - Bluetooth: hci_qca: Bug fixes while collecting controller memory dump
    - net: qrtr: Migrate nameservice to kernel from userspace
    - net: qrtr: Fix the local node ID as 1
    - net: qrtr: fix spelling mistake "serivce" -> "service"
    - net: qrtr: Fix error pointer vs NULL bugs
    - Bluetooth: Replace zero-length array with flexible-array member
    - Bluetooth: hci_qca: Not send vendor pre-shutdown command for QCA Rome
    - Bluetooth: btqca: Fix the NVM baudrate tag offcet for wcn3991
    - net: qrtr: Respond to HELLO message
    - net: qrtr: Fix FIXME related to qrtr_ns_init()
    - soc: qcom: Do not depend on ARCH_QCOM for QMI helpers
    - Bluetooth: hci_qca: Make bt_en and susclk not mandatory for QCA Rome
    - Bluetooth: hci_qca: Replace devm_gpiod_get() with devm_gpiod_get_optional()
    - ath11k: config reorder queue for all tids during peer setup
    - ath11k: add thermal cooling device support
    - ath11k: add thermal sensor device support
    - ath11k: Use scnprintf() for avoiding potential buffer overflow
    - ath11k: handle RX fragments
    - ath11k: enable PN offload
    - ath11k: set queue_len to 4096
    - ath11k: add WMI calls required for handling BSS color
    - ath11k: add handling for BSS color
    - ath11k: Supporting RX ring backpressure HTT event and stats handling
    - ath11k: fill channel info from rx channel
    - ath11k: dum...

Changed in linux-oem-5.6 (Ubuntu Focal):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Groovy):
status: In Progress → Fix Committed
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

Found on AWS groovy 5.8.0-1021.23

tags: added: sru-20210104
tags: added: aws
tags: added: groovy
Revision history for this message
Brian Murray (brian-murray) wrote :

The Groovy Gorilla has reached end of life, so this bug will not be fixed for that release

Changed in linux (Ubuntu Groovy):
status: Fix Committed → Won't Fix
Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

This patch has been applied to hirsute.

Changed in linux (Ubuntu):
status: In Progress → Fix Released
Changed in linux (Ubuntu Hirsute):
status: In Progress → Fix Released
Changed in ubuntu-kernel-tests:
status: In Progress → Fix Released
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.