pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63

Bug #1931731 reported by Kelsey Steele
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Invalid
Undecided
Unassigned
linux (Ubuntu)
Invalid
Undecided
Unassigned
Groovy
Fix Released
High
Kleber Sacilotto de Souza

Bug Description

[Impact]
Upstream commit 6628ddfec7580882f11fdc5c194a8ea781fdadfa ("net: geneve: check skb is large enough for IPv4/IPv6 header"), applied to groovy/linux 5.8.0-56.63 via upstream stable update (bug 1929132) introduced a regression caught by kernel selftests, pmtu.sh from net testcase:

02:56:48 DEBUG| [stdout] # TEST: IPv4 over geneve6: PMTU exceptions [FAIL]
02:56:48 DEBUG| [stdout] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface
02:56:49 DEBUG| [stdout] # TEST: IPv4 over geneve6: PMTU exceptions - nexthop objects [FAIL]
02:56:49 DEBUG| [stdout] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface

[Fix]
The issue is fixed by d13f048dd40e8577260cd43faea8ec9b77520197 ("net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb"), which is already applied for the next SRU cycle as part of upstream stable update (bug 1930766).

[Tests]
I have applied the fix on top of 5.8.0-56.63 and ran pmtu.sh and the whole selftests.net suite. The testcase is now completed successfully and no other regression was found.

[Where problems could occur]
The fix could be a partial fix not covering all corner cases, this could lead to other failures with geneve tunnels.

[Original Description]
This is a scripted bug report about ADT failures while running linux tests for linux/5.8.0-56.63 on groovy. Whether this is caused by the dep8 tests of the tested source or the kernel has yet to be determined.

Looks to be isolated to Groovy and appearing on all arches.

Testing failed on:
    amd64: https://autopkgtest.ubuntu.com/results/autopkgtest-groovy/groovy/amd64/l/linux/20210610_035450_9c9b9@/log.gz
    arm64: https://autopkgtest.ubuntu.com/results/autopkgtest-groovy/groovy/arm64/l/linux/20210611_103429_5c4be@/log.gz
    ppc64el: https://autopkgtest.ubuntu.com/results/autopkgtest-groovy/groovy/ppc64el/l/linux/20210611_013418_76b18@/log.gz
    s390x: https://autopkgtest.ubuntu.com/results/autopkgtest-groovy/groovy/s390x/l/linux/20210610_030630_fb359@/log.gz

02:56:31 DEBUG| [stdout] # selftests: net: pmtu.sh
02:56:31 DEBUG| [stdout] # TEST: ipv4: PMTU exceptions [ OK ]
02:56:31 DEBUG| [stdout] # TEST: ipv4: PMTU exceptions - nexthop objects [ OK ]
02:56:31 DEBUG| [stdout] # TEST: ipv6: PMTU exceptions [ OK ]
02:56:32 DEBUG| [stdout] # TEST: ipv6: PMTU exceptions - nexthop objects [ OK ]
02:56:33 DEBUG| [stdout] # TEST: IPv4 over vxlan4: PMTU exceptions [ OK ]
02:56:34 DEBUG| [stdout] # TEST: IPv4 over vxlan4: PMTU exceptions - nexthop objects [ OK ]
02:56:35 DEBUG| [stdout] # TEST: IPv6 over vxlan4: PMTU exceptions [ OK ]
02:56:36 DEBUG| [stdout] # TEST: IPv6 over vxlan4: PMTU exceptions - nexthop objects [ OK ]
02:56:38 DEBUG| [stdout] # TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
02:56:39 DEBUG| [stdout] # TEST: IPv4 over vxlan6: PMTU exceptions - nexthop objects [ OK ]
02:56:40 DEBUG| [stdout] # TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
02:56:41 DEBUG| [stdout] # TEST: IPv6 over vxlan6: PMTU exceptions - nexthop objects [ OK ]
02:56:43 DEBUG| [stdout] # TEST: IPv4 over geneve4: PMTU exceptions [ OK ]
02:56:44 DEBUG| [stdout] # TEST: IPv4 over geneve4: PMTU exceptions - nexthop objects [ OK ]
02:56:45 DEBUG| [stdout] # TEST: IPv6 over geneve4: PMTU exceptions [ OK ]
02:56:46 DEBUG| [stdout] # TEST: IPv6 over geneve4: PMTU exceptions - nexthop objects [ OK ]
02:56:48 DEBUG| [stdout] # TEST: IPv4 over geneve6: PMTU exceptions [FAIL]
02:56:48 DEBUG| [stdout] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface
02:56:49 DEBUG| [stdout] # TEST: IPv4 over geneve6: PMTU exceptions - nexthop objects [FAIL]
02:56:49 DEBUG| [stdout] # PMTU exception wasn't created after exceeding link layer MTU on geneve interface
02:56:50 DEBUG| [stdout] # TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
02:56:51 DEBUG| [stdout] # TEST: IPv6 over geneve6: PMTU exceptions - nexthop objects [ OK ]
02:56:53 DEBUG| [stdout] # TEST: IPv4 over fou4: PMTU exceptions [ OK ]
02:56:54 DEBUG| [stdout] # TEST: IPv4 over fou4: PMTU exceptions - nexthop objects [ OK ]
02:56:56 DEBUG| [stdout] # TEST: IPv6 over fou4: PMTU exceptions [ OK ]
02:56:57 DEBUG| [stdout] # TEST: IPv6 over fou4: PMTU exceptions - nexthop objects [ OK ]
02:56:58 DEBUG| [stdout] # TEST: IPv4 over fou6: PMTU exceptions [ OK ]
02:56:59 DEBUG| [stdout] # TEST: IPv4 over fou6: PMTU exceptions - nexthop objects [ OK ]
02:57:01 DEBUG| [stdout] # TEST: IPv6 over fou6: PMTU exceptions [ OK ]
02:57:02 DEBUG| [stdout] # TEST: IPv6 over fou6: PMTU exceptions - nexthop objects [ OK ]
02:57:03 DEBUG| [stdout] # TEST: IPv4 over gue4: PMTU exceptions [ OK ]
02:57:04 DEBUG| [stdout] # TEST: IPv4 over gue4: PMTU exceptions - nexthop objects [ OK ]
02:57:05 DEBUG| [stdout] # TEST: IPv6 over gue4: PMTU exceptions [ OK ]
02:57:07 DEBUG| [stdout] # TEST: IPv6 over gue4: PMTU exceptions - nexthop objects [ OK ]
02:57:08 DEBUG| [stdout] # TEST: IPv4 over gue6: PMTU exceptions [ OK ]
02:57:09 DEBUG| [stdout] # TEST: IPv4 over gue6: PMTU exceptions - nexthop objects [ OK ]
02:57:10 DEBUG| [stdout] # TEST: IPv6 over gue6: PMTU exceptions [ OK ]
02:57:11 DEBUG| [stdout] # TEST: IPv6 over gue6: PMTU exceptions - nexthop objects [ OK ]
02:57:13 DEBUG| [stdout] # TEST: IPv4 over IPv4: PMTU exceptions [ OK ]
02:57:14 DEBUG| [stdout] # TEST: IPv4 over IPv4: PMTU exceptions - nexthop objects [ OK ]
02:57:15 DEBUG| [stdout] # TEST: IPv6 over IPv4: PMTU exceptions [ OK ]
02:57:16 DEBUG| [stdout] # TEST: IPv6 over IPv4: PMTU exceptions - nexthop objects [ OK ]
02:57:17 DEBUG| [stdout] # TEST: IPv4 over IPv6: PMTU exceptions [ OK ]
02:57:19 DEBUG| [stdout] # TEST: IPv4 over IPv6: PMTU exceptions - nexthop objects [ OK ]
02:57:20 DEBUG| [stdout] # TEST: IPv6 over IPv6: PMTU exceptions [ OK ]
02:57:21 DEBUG| [stdout] # TEST: IPv6 over IPv6: PMTU exceptions - nexthop objects [ OK ]
02:57:23 DEBUG| [stdout] # TEST: vti6: PMTU exceptions [ OK ]
02:57:25 DEBUG| [stdout] # TEST: vti4: PMTU exceptions [ OK ]
02:57:25 DEBUG| [stdout] # TEST: vti4: default MTU assignment [ OK ]
02:57:26 DEBUG| [stdout] # TEST: vti6: default MTU assignment [ OK ]
02:57:26 DEBUG| [stdout] # TEST: vti4: MTU setting on link creation [ OK ]
02:57:26 DEBUG| [stdout] # TEST: vti6: MTU setting on link creation [ OK ]
02:57:26 DEBUG| [stdout] # TEST: vti6: MTU changes on link changes [ OK ]
02:57:29 DEBUG| [stdout] # TEST: ipv4: cleanup of cached exceptions [ OK ]
02:57:33 DEBUG| [stdout] # TEST: ipv4: cleanup of cached exceptions - nexthop objects [ OK ]
02:57:36 DEBUG| [stdout] # TEST: ipv6: cleanup of cached exceptions [ OK ]
02:57:39 DEBUG| [stdout] # TEST: ipv6: cleanup of cached exceptions - nexthop objects [ OK ]
02:58:01 DEBUG| [stdout] # TEST: ipv4: list and flush cached exceptions [ OK ]
02:58:22 DEBUG| [stdout] # TEST: ipv4: list and flush cached exceptions - nexthop objects [ OK ]
02:58:23 DEBUG| [stdout] # TEST: ipv6: list and flush cached exceptions [ OK ]
02:58:24 DEBUG| [stdout] # TEST: ipv6: list and flush cached exceptions - nexthop objects [ OK ]
02:58:24 DEBUG| [stdout] # TEST: ipv4: PMTU exception w/route replace [ OK ]
02:58:25 DEBUG| [stdout] # TEST: ipv4: PMTU exception w/route replace - nexthop objects [ OK ]
02:58:25 DEBUG| [stdout] # TEST: ipv6: PMTU exception w/route replace [ OK ]
02:58:26 DEBUG| [stdout] # TEST: ipv6: PMTU exception w/route replace - nexthop objects [ OK ]
02:58:26 DEBUG| [stdout] not ok 16 selftests: net: pmtu.sh # exit=1

tags: added: kernel-adt-failure
summary: - linux ADT test failure with linux/5.8.0-56.63
+ pmtu.sh from selftests.net in linux ADT test failure with
+ linux/5.8.0-56.63
description: updated
Revision history for this message
Kelsey Steele (kelsey-steele) wrote :

This is now also showing up on F/hwe-5.8 amd64:

https://autopkgtest.ubuntu.com/results/autopkgtest-focal/focal/amd64/l/linux-hwe-5.8/20210611_185322_b0873@/log.gz

F/hwe-5.8 selftests.net use to fail with "Cannot find a vmlinux for VMLINUX_BTF at any of..."

Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

The issue was introduced by upstream commit 6628ddfec7580882f11fdc5c194a8ea781fdadfa ("net: geneve: check skb is large enough for IPv4/IPv6 header") and it's fixed by d13f048dd40e8577260cd43faea8ec9b77520197 ("net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb"), which is already applied for the next SRU cycle as part of upstream stable update (bug 1930766).

Changed in linux (Ubuntu Groovy):
status: New → Confirmed
Changed in linux (Ubuntu):
status: New → Invalid
Changed in linux (Ubuntu Groovy):
assignee: nobody → Kleber Sacilotto de Souza (kleber-souza)
importance: Undecided → Critical
status: Confirmed → In Progress
importance: Critical → High
description: updated
description: updated
description: updated
description: updated
Changed in linux (Ubuntu Groovy):
status: In Progress → Fix Committed
Po-Hsu Lin (cypressyew)
tags: added: 5.8 groovy sru-20210531 ubuntu-kernel-selftests
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

Confirmed that the pmtu.sh testcase completes successfully with groovy/linux 5.8.0-57.64.

tags: added: verification-done-groovy
Revision history for this message
Krzysztof Kozlowski (krzk) wrote :

Found on groovy/aws 5.8.0-1036.38

tags: added: aws
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (23.2 KiB)

This bug was fixed in the package linux - 5.8.0-59.66

---------------
linux (5.8.0-59.66) groovy; urgency=medium

  * UAF on CAN J1939 j1939_can_recv (LP: #1932209)
    - SAUCE: can: j1939: delay release of j1939_priv after synchronize_rcu

  * UAF on CAN BCM bcm_rx_handler (LP: #1931855)
    - SAUCE: can: bcm: delay release of struct bcm_op after synchronize_rcu

linux (5.8.0-57.64) groovy; urgency=medium

  * groovy/linux: 5.8.0-57.64 -proposed tracker (LP: #1932047)

  * pmtu.sh from selftests.net in linux ADT test failure with linux/5.8.0-56.63
    (LP: #1931731)
    - net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb

linux (5.8.0-56.63) groovy; urgency=medium

  * groovy/linux: 5.8.0-56.63 -proposed tracker (LP: #1930052)

  * Packaging resync (LP: #1786013)
    - update dkms package versions

  * scsi: storvsc: Parameterize number hardware queues (LP: #1930626)
    - scsi: storvsc: Parameterize number hardware queues

  * CVE-2021-33200
    - bpf: Wrap aux data inside bpf_sanitize_info container
    - bpf: Fix mask direction swap upon off reg sign change
    - bpf: No need to simulate speculative domain for immediates

  * CVE-2021-3490
    - SAUCE: Revert "UBUNTU: SAUCE: bpf: verifier: fix ALU32 bounds tracking with
      bitwise ops"
    - gpf: Fix alu32 const subreg bound tracking on bitwise operations

  * CVE-2021-3489
    - SAUCE: Revert "UBUNTU: SAUCE: bpf: prevent writable memory-mapping of read-
      only ringbuf pages"
    - bpf: Prevent writable memory-mapping of read-only ringbuf pages

  * Realtek USB hubs in Dell WD19SC/DC/TB fail to work after exiting s2idle
    (LP: #1928242)
    - USB: Verify the port status when timeout happens during port suspend

  * CVE-2020-26145
    - ath10k: drop fragments with multicast DA for SDIO
    - ath10k: add CCMP PN replay protection for fragmented frames for PCIe
    - ath10k: drop fragments with multicast DA for PCIe

  * CVE-2020-26141
    - ath10k: Fix TKIP Michael MIC verification for PCIe

  * CVE-2020-24587
    - ath11k: Clear the fragment cache during key install

  * CVE-2020-24588
    - mac80211: properly handle A-MSDUs that start with an RFC 1042 header
    - cfg80211: mitigate A-MSDU aggregation attacks
    - mac80211: drop A-MSDUs on old ciphers
    - ath10k: drop MPDU which has discard flag set by firmware for SDIO

  * CVE-2020-26139
    - mac80211: do not accept/forward invalid EAPOL frames

  * CVE-2020-24586 // CVE-2020-24587 // CVE-2020-24587 for such cases.
    - mac80211: extend protection against mixed key and fragment cache attacks

  * CVE-2020-24586 // CVE-2020-24587
    - mac80211: prevent mixed key and fragment cache attacks
    - mac80211: add fragment cache to sta_info
    - mac80211: check defrag PN against current frame
    - mac80211: prevent attacks on TKIP/WEP as well

  * CVE-2020-26147
    - mac80211: assure all fragments are encrypted

  * raid10: Block discard is very slow, causing severe delays for mkfs and
    fstrim operations (LP: #1896578)
    - md: add md_submit_discard_bio() for submitting discard bio
    - md/raid10: extend r10bio devs to raid disks
    - md/raid10: pull the code that wait for blocked dev into one...

Changed in linux (Ubuntu Groovy):
status: Fix Committed → Fix Released
Changed in ubuntu-kernel-tests:
status: New → Invalid
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.