psock_snd.sh in net from ubuntu_kernel_selftests ADT failure with focal/linux

Bug #1892213 reported by Kleber Sacilotto de Souza on 2020-08-19
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
Undecided
Unassigned
linux (Ubuntu)
Undecided
Unassigned
Focal
Undecided
Unassigned

Bug Description

Testing failed on focal/linux 5.4.0-44.48:
    amd64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/amd64/l/linux/20200812_171444_31971@/log.gz
    arm64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/arm64/l/linux/20200812_210509_145fd@/log.gz
    ppc64el: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/ppc64el/l/linux/20200812_165855_1dabd@/log.gz
    s390x: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-focal/focal/s390x/l/linux/20200812_153600_9c7cb@/log.gz

psock_snd.sh output:

16:28:30 DEBUG| [stdout] # selftests: net: psock_snd.sh
16:28:31 DEBUG| [stdout] # dgram
16:28:31 DEBUG| [stdout] # tx: 128
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # dgram bind
16:28:31 DEBUG| [stdout] # tx: 128
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw
16:28:31 DEBUG| [stdout] # tx: 142
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw bind
16:28:31 DEBUG| [stdout] # tx: 142
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw qdisc bypass
16:28:31 DEBUG| [stdout] # tx: 142
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw vlan
16:28:31 DEBUG| [stdout] # tx: 146
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw vnet hdr
16:28:31 DEBUG| [stdout] # tx: 152
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw csum_off
16:28:31 DEBUG| [stdout] # tx: 152
16:28:31 DEBUG| [stdout] # rx: 142
16:28:31 DEBUG| [stdout] # rx: 100
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw csum_off with bad offset (fails)
16:28:31 DEBUG| [stdout] # ./psock_snd: write: Invalid argument
16:28:31 DEBUG| [stdout] # raw min size
16:28:31 DEBUG| [stdout] # tx: 42
16:28:31 DEBUG| [stdout] # rx: 0
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw mtu size
16:28:31 DEBUG| [stdout] # tx: 1514
16:28:31 DEBUG| [stdout] # rx: 1472
16:28:31 DEBUG| [stdout] # OK
16:28:31 DEBUG| [stdout] #
16:28:31 DEBUG| [stdout] # raw mtu size + 1 (fails)
16:28:31 DEBUG| [stdout] # ./psock_snd: write: Message too long
16:28:31 DEBUG| [stdout] # raw vlan mtu size + 1 (fails)
16:28:31 DEBUG| [stdout] # ./psock_snd: write: Message too long
16:28:32 DEBUG| [stdout] # dgram mtu size
16:28:32 DEBUG| [stdout] # tx: 1500
16:28:32 DEBUG| [stdout] # rx: 1472
16:28:32 DEBUG| [stdout] # OK
16:28:32 DEBUG| [stdout] #
16:28:32 DEBUG| [stdout] # dgram mtu size + 1 (fails)
16:28:32 DEBUG| [stdout] # ./psock_snd: write: Message too long
16:28:32 DEBUG| [stdout] # raw truncate hlen (fails: does not arrive)
16:28:32 DEBUG| [stdout] # tx: 14
16:28:32 DEBUG| [stdout] # ./psock_snd: recv: Resource temporarily unavailable
16:28:32 DEBUG| [stdout] # raw truncate hlen - 1 (fails: EINVAL)
16:28:32 DEBUG| [stdout] # ./psock_snd: write: Invalid argument
16:28:32 DEBUG| [stdout] # raw gso min size
16:28:32 DEBUG| [stdout] # tx: 1525
16:28:32 DEBUG| [stdout] # rx: 1473
16:28:32 DEBUG| [stdout] # OK
16:28:32 DEBUG| [stdout] #
16:28:32 DEBUG| [stdout] # raw gso min size - 1 (fails)
16:28:32 DEBUG| [stdout] # tx: 1524
16:28:32 DEBUG| [stdout] # rx: 1472
16:28:32 DEBUG| [stdout] # OK
16:28:32 DEBUG| [stdout] #
16:28:32 DEBUG| [stdout] not ok 22 selftests: net: psock_snd.sh # exit=1

This failure is similar to bug 1884234, however, this test didn't fail on ADT with focal/linux before 5.4.0-44.48.

tags: added: kernel-adt-failure
Changed in linux (Ubuntu Focal):
status: New → Confirmed
summary: - linux 5.4.0-44.48 ADT test failure with linux 5.4.0-44.48
+ psock_snd.sh in net from ubuntu_kernel_selftests ADT failure with
+ focal/linux
description: updated

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 1892213

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
tags: added: focal
Po-Hsu Lin (cypressyew) on 2020-08-19
tags: added: sru-20200810
removed: focal
tags: added: 5.4 focal ubuntu-kernel-selftests

I was able to reproduce it with mainline kernel 5.9.0-050900rc1-generic.

The testcase "raw gso min size - 1 (fails)" is failing because what it executes ("./in_netns.sh ./psock_snd -v -c -g -l 1472") is returning success when it expects a failure.

So I'm wondering if psock_snd.sh is making some assumption which is not valid anymore.

I have reverted the following two commits from Ubuntu-5.4.0-44.48 and the test is now successfully:

commit 78aedad3a6b9264a27f30d2c1cf50e6f94d22530
Author: Eric Dumazet <email address hidden>
Date: Thu May 28 14:57:47 2020 -0700

    net: be more gentle about silly gso requests coming from user

    BugLink: https://bugs.launchpad.net/bugs/1883184

    [ Upstream commit 7c6d2ecbda83150b2036a2b36b21381ad4667762 ]

commit 3bfeea9b0b203e14acb2c9ba122da08e3a6eb93c
Author: Willem de Bruijn <email address hidden>
Date: Mon May 25 15:07:40 2020 -0400

    net: check untrusted gso_size at kernel entry

    BugLink: https://bugs.launchpad.net/bugs/1883184

    [ Upstream commit 6dd912f82680761d8fb6b1bb274a69d4c7010988 ]

The description from 7c6d2ecbda really seems to match the change that's causing the testcase to not fail anymore.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Po-Hsu Lin (cypressyew) on 2020-09-04
tags: added: sru-20200831
tags: added: sru-20200921
tags: added: aws
tags: added: groovy

Failed on Bionic/oracle : 5.4.0-1026.26~18.04.1 : amd64

tags: added: amd64 bionic oracle
Po-Hsu Lin (cypressyew) wrote :

Found on 5.4.0-1030.32~18.04.1 - oracle

tags: added: sru-20201109

Found on Groovy/linux 5.8.0-31.33

tags: added: 5.8
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers