Check out this report and any autotriaged failures in our web dashboard:
https://datawarehouse.cki-project.org/kcidb/checkouts/25737
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 862cfde7c0e2 - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
Targeted tests: NO
All kernel binaries, config files, and logs are available for download here:
https://arr-cki-prod-datawarehouse-public.s3.amazonaws.com/index.html?prefiβ¦
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 2:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β Boot test
β Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Host 3:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - srp
Host 4:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ Networking bridge: sanity - mlx5
β‘β‘β‘ Ethernet drivers sanity - mlx5
Host 5:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β Boot test
β Reboot test
β ACPI table test
β ACPI enabled test
β‘β‘β‘ LTP - cve
β‘β‘β‘ LTP - sched
β‘β‘β‘ LTP - syscalls
β‘β‘β‘ LTP - can
β‘β‘β‘ LTP - commands
β‘β‘β‘ LTP - containers
β‘β‘β‘ LTP - dio
β‘β‘β‘ LTP - fs
β‘β‘β‘ LTP - fsx
β‘β‘β‘ LTP - math
β‘β‘β‘ LTP - hugetlb
β‘β‘β‘ LTP - mm
β‘β‘β‘ LTP - nptl
β‘β‘β‘ LTP - pty
β‘β‘β‘ LTP - ipc
β‘β‘β‘ LTP - tracing
β‘β‘β‘ LTP: openposix test suite
β‘β‘β‘ CIFS Connectathon
β‘β‘β‘ POSIX pjd-fstest suites
β‘β‘β‘ NFS Connectathon
β‘β‘β‘ Loopdev Sanity
β‘β‘β‘ jvm - jcstress tests
β‘β‘β‘ Memory: fork_mem
β‘β‘β‘ Memory function: memfd_create
β‘β‘β‘ AMTU (Abstract Machine Test Utility)
β‘β‘β‘ Networking bridge: sanity
β‘β‘β‘ Ethernet drivers sanity
β‘β‘β‘ Networking socket: fuzz
β‘β‘β‘ Networking route: pmtu
β‘β‘β‘ Networking route_func - local
β‘β‘β‘ Networking route_func - forward
β‘β‘β‘ Networking TCP: keepalive test
β‘β‘β‘ Networking UDP: socket
β‘β‘β‘ Networking cki netfilter test
β‘β‘β‘ Networking tunnel: geneve basic test
β‘β‘β‘ Networking tunnel: gre basic
β‘β‘β‘ L2TP basic test
β‘β‘β‘ Networking tunnel: vxlan basic
β‘β‘β‘ Networking ipsec: basic netns - transport
β‘β‘β‘ Networking ipsec: basic netns - tunnel
β‘β‘β‘ Libkcapi AF_ALG test
β‘β‘β‘ pciutils: update pci ids test
β‘β‘β‘ ALSA PCM loopback test
β‘β‘β‘ ALSA Control (mixer) Userspace Element test
β‘β‘β‘ storage: dm/common
β‘β‘β‘ lvm snapper test
β‘β‘β‘ storage: SCSI VPD
β‘β‘β‘ trace: ftrace/tracer
π§ β‘β‘β‘ xarray-idr-radixtree-test
π§ β‘β‘β‘ i2c: i2cdetect sanity
π§ β‘β‘β‘ Firmware test suite
π§ β‘β‘β‘ Memory function: kaslr
π§ β‘β‘β‘ Networking: igmp conformance test
π§ β‘β‘β‘ audit: audit testsuite test
Host 6:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ Networking bridge: sanity - mlx5
β‘β‘β‘ Ethernet drivers sanity - mlx5
Host 7:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - srp
ppc64le:
Host 1:
β Boot test
β Reboot test
β LTP - cve
β LTP - sched
β LTP - syscalls
β LTP - can
β LTP - commands
β LTP - containers
β LTP - dio
β LTP - fs
β LTP - fsx
β LTP - math
β LTP - hugetlb
β LTP - mm
β LTP - nptl
β LTP - pty
β LTP - ipc
β LTP - tracing
β LTP: openposix test suite
β CIFS Connectathon
β POSIX pjd-fstest suites
β NFS Connectathon
β Loopdev Sanity
β jvm - jcstress tests
β Memory: fork_mem
β Memory function: memfd_create
β AMTU (Abstract Machine Test Utility)
β Networking bridge: sanity
β Ethernet drivers sanity
β Networking socket: fuzz
β Networking route: pmtu
β Networking route_func - local
β Networking route_func - forward
β Networking TCP: keepalive test
β Networking UDP: socket
β Networking cki netfilter test
β Networking tunnel: geneve basic test
β Networking tunnel: gre basic
β L2TP basic test
β Networking tunnel: vxlan basic
β Networking ipsec: basic netns - tunnel
β Libkcapi AF_ALG test
β pciutils: update pci ids test
β ALSA PCM loopback test
β ALSA Control (mixer) Userspace Element test
β storage: dm/common
β lvm snapper test
β trace: ftrace/tracer
π§ β xarray-idr-radixtree-test
π§ β Memory function: kaslr
π§ β audit: audit testsuite test
Host 2:
β Boot test
β Reboot test
β xfstests - ext4
β xfstests - xfs
β IPMI driver test
β IPMItool loop stress test
β selinux-policy: serge-testsuite
β Storage blktests - blk
β Storage block - filesystem fio test
β Storage block - queue scheduler test
β storage: software RAID testing
β Storage: swraid mdadm raid_module test
π§ β Podman system test - as root
π§ β Podman system test - as user
π§ β xfstests - btrfs
π§ β Storage blktests - nvme-tcp
π§ β Storage: lvm device-mapper test - upstream
π§ β lvm cache test
Host 3:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 4:
β Boot test
β Reboot test
π§ β Storage blktests - srp
s390x:
Host 1:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 2:
β Boot test
β Reboot test
β selinux-policy: serge-testsuite
β Storage blktests - blk
β Storage: swraid mdadm raid_module test
β stress: stress-ng - interrupt
β stress: stress-ng - cpu
β stress: stress-ng - cpu-cache
β stress: stress-ng - memory
π§ β Podman system test - as root
π§ β Podman system test - as user
π§ β Storage blktests - nvme-tcp
π§ β lvm cache test
π§ β stress: stress-ng - os
Host 3:
β Boot test
β Reboot test
β LTP - cve
β LTP - sched
β LTP - syscalls
β LTP - can
β LTP - commands
β LTP - containers
β LTP - dio
β LTP - fs
β LTP - fsx
β LTP - math
β LTP - hugetlb
β LTP - mm
β LTP - nptl
β LTP - pty
β LTP - ipc
β LTP - tracing
β LTP: openposix test suite
β CIFS Connectathon
β POSIX pjd-fstest suites
β NFS Connectathon
β Loopdev Sanity
β jvm - jcstress tests
β Memory: fork_mem
β Memory function: memfd_create
β AMTU (Abstract Machine Test Utility)
β Networking bridge: sanity
β Ethernet drivers sanity
β Networking route: pmtu
β Networking route_func - local
β Networking route_func - forward
β Networking TCP: keepalive test
β Networking UDP: socket
β Networking cki netfilter test
β Networking tunnel: geneve basic test
β Networking tunnel: gre basic
β L2TP basic test
β Networking tunnel: vxlan basic
β Networking ipsec: basic netns - transport
β Networking ipsec: basic netns - tunnel
β Libkcapi AF_ALG test
β storage: dm/common
β lvm snapper test
β trace: ftrace/tracer
π§ β xarray-idr-radixtree-test
π§ β Memory function: kaslr
π§ β audit: audit testsuite test
Host 4:
β Boot test
β Reboot test
π§ β Storage blktests - srp
x86_64:
Host 1:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β Boot test
β Reboot test
β ACPI table test
β‘β‘β‘ LTP - cve
β‘β‘β‘ LTP - sched
β‘β‘β‘ LTP - syscalls
β‘β‘β‘ LTP - can
β‘β‘β‘ LTP - commands
β‘β‘β‘ LTP - containers
β‘β‘β‘ LTP - dio
β‘β‘β‘ LTP - fs
β‘β‘β‘ LTP - fsx
β‘β‘β‘ LTP - math
β‘β‘β‘ LTP - hugetlb
β‘β‘β‘ LTP - mm
β‘β‘β‘ LTP - nptl
β‘β‘β‘ LTP - pty
β‘β‘β‘ LTP - ipc
β‘β‘β‘ LTP - tracing
β‘β‘β‘ LTP: openposix test suite
β‘β‘β‘ CIFS Connectathon
β‘β‘β‘ POSIX pjd-fstest suites
β‘β‘β‘ NFS Connectathon
β‘β‘β‘ Loopdev Sanity
β‘β‘β‘ jvm - jcstress tests
β‘β‘β‘ Memory: fork_mem
β‘β‘β‘ Memory function: memfd_create
β‘β‘β‘ AMTU (Abstract Machine Test Utility)
β‘β‘β‘ Networking bridge: sanity
β‘β‘β‘ Ethernet drivers sanity
β‘β‘β‘ Networking socket: fuzz
β‘β‘β‘ Networking route: pmtu
β‘β‘β‘ Networking route_func - local
β‘β‘β‘ Networking route_func - forward
β‘β‘β‘ Networking TCP: keepalive test
β‘β‘β‘ Networking UDP: socket
β‘β‘β‘ Networking cki netfilter test
β‘β‘β‘ Networking tunnel: geneve basic test
β‘β‘β‘ Networking tunnel: gre basic
β‘β‘β‘ L2TP basic test
β‘β‘β‘ Networking tunnel: vxlan basic
β‘β‘β‘ Networking ipsec: basic netns - transport
β‘β‘β‘ Networking ipsec: basic netns - tunnel
β‘β‘β‘ Libkcapi AF_ALG test
β‘β‘β‘ pciutils: sanity smoke test
β‘β‘β‘ pciutils: update pci ids test
β‘β‘β‘ ALSA PCM loopback test
β‘β‘β‘ ALSA Control (mixer) Userspace Element test
β‘β‘β‘ storage: dm/common
β‘β‘β‘ lvm snapper test
β‘β‘β‘ storage: SCSI VPD
β‘β‘β‘ trace: ftrace/tracer
π§ β‘β‘β‘ xarray-idr-radixtree-test
π§ β‘β‘β‘ i2c: i2cdetect sanity
π§ β‘β‘β‘ Firmware test suite
π§ β‘β‘β‘ Memory function: kaslr
π§ β‘β‘β‘ Networking: igmp conformance test
π§ β‘β‘β‘ audit: audit testsuite test
Host 2:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - nvmeof-mp
Host 3:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - srp
Host 4:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ xfstests - nfsv4.2
β‘β‘β‘ xfstests - cifsv3.11
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ power-management: cpupower/sanity test
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ CPU: Idle Test
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ Storage: lvm device-mapper test - upstream
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Host 5:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - nvmeof-mp
Host 6:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - srp
Test sources: https://gitlab.com/cki-project/kernel-tests
π Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with β‘β‘β‘.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with π§. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with β±.
Targeted tests
--------------
Test runs for patches always include a set of base tests, plus some
tests chosen based on the file paths modified by the patch. The latter
are called "targeted tests". If no targeted tests are run, that means
no patch-specific tests are available. Please, consider contributing a
targeted test for related patches to increase test coverage. See
https://docs.engineering.redhat.com/x/_wEZB for more details.
Check out this report and any autotriaged failures in our web dashboard:
https://datawarehouse.cki-project.org/kcidb/checkouts/25734
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 27a717ac84ce - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
Targeted tests: NO
All kernel binaries, config files, and logs are available for download here:
https://arr-cki-prod-datawarehouse-public.s3.amazonaws.com/index.html?prefiβ¦
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
β Boot test
β Reboot test
π§ β Storage blktests - srp
Host 2:
β Boot test
β Reboot test
β Networking bridge: sanity - mlx5
β Ethernet drivers sanity - mlx5
Host 3:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 4:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Host 5:
β Boot test
β Reboot test
β ACPI table test
β ACPI enabled test
β LTP - cve
β LTP - sched
β LTP - syscalls
β LTP - can
β LTP - commands
β LTP - containers
β LTP - dio
β LTP - fs
β LTP - fsx
β LTP - math
β LTP - hugetlb
β LTP - mm
β LTP - nptl
β LTP - pty
β LTP - ipc
β LTP - tracing
β LTP: openposix test suite
β CIFS Connectathon
β POSIX pjd-fstest suites
β NFS Connectathon
β Loopdev Sanity
β jvm - jcstress tests
β Memory: fork_mem
β Memory function: memfd_create
β AMTU (Abstract Machine Test Utility)
β Networking bridge: sanity
β Ethernet drivers sanity
β Networking socket: fuzz
β Networking route: pmtu
β Networking route_func - local
β Networking route_func - forward
β Networking TCP: keepalive test
β Networking UDP: socket
β Networking cki netfilter test
β Networking tunnel: geneve basic test
β Networking tunnel: gre basic
β L2TP basic test
β Networking tunnel: vxlan basic
β Networking ipsec: basic netns - transport
β Networking ipsec: basic netns - tunnel
β Libkcapi AF_ALG test
β pciutils: update pci ids test
β ALSA PCM loopback test
β ALSA Control (mixer) Userspace Element test
β storage: dm/common
β lvm snapper test
β storage: SCSI VPD
β trace: ftrace/tracer
π§ β xarray-idr-radixtree-test
π§ β i2c: i2cdetect sanity
π§ β Firmware test suite
π§ β Memory function: kaslr
π§ β Networking: igmp conformance test
π§ β audit: audit testsuite test
Host 6:
β Boot test
β Reboot test
β xfstests - ext4
β xfstests - xfs
β IPMI driver test
β IPMItool loop stress test
β selinux-policy: serge-testsuite
β Storage blktests - blk
β Storage block - filesystem fio test
β Storage block - queue scheduler test
β storage: software RAID testing
β Storage: swraid mdadm raid_module test
β stress: stress-ng - interrupt
β stress: stress-ng - cpu
β stress: stress-ng - cpu-cache
β stress: stress-ng - memory
π§ β Podman system test - as root
π§ β Podman system test - as user
π§ β xfstests - btrfs
π§ β Storage blktests - nvme-tcp
π§ β lvm cache test
π§ β stress: stress-ng - os
ppc64le:
Host 1:
β Boot test
β Reboot test
π§ β Storage blktests - srp
Host 2:
β Boot test
β Reboot test
β xfstests - ext4
β xfstests - xfs
β IPMI driver test
β IPMItool loop stress test
β selinux-policy: serge-testsuite
β Storage blktests - blk
β Storage block - filesystem fio test
β Storage block - queue scheduler test
β storage: software RAID testing
β Storage: swraid mdadm raid_module test
π§ β Podman system test - as root
π§ β Podman system test - as user
π§ β xfstests - btrfs
π§ β Storage blktests - nvme-tcp
π§ β Storage: lvm device-mapper test - upstream
π§ β lvm cache test
Host 3:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
π§ β‘β‘β‘ Storage blktests - nvmeof-mp
Host 4:
β Boot test
β Reboot test
β LTP - cve
β LTP - sched
β LTP - syscalls
β LTP - can
β LTP - commands
β LTP - containers
β LTP - dio
β LTP - fs
β LTP - fsx
β LTP - math
β LTP - hugetlb
β LTP - mm
β LTP - nptl
β LTP - pty
β LTP - ipc
β LTP - tracing
β LTP: openposix test suite
β CIFS Connectathon
β POSIX pjd-fstest suites
β NFS Connectathon
β Loopdev Sanity
β jvm - jcstress tests
β Memory: fork_mem
β Memory function: memfd_create
β AMTU (Abstract Machine Test Utility)
β Networking bridge: sanity
β Ethernet drivers sanity
β Networking socket: fuzz
β Networking route: pmtu
β Networking route_func - local
β Networking route_func - forward
β Networking TCP: keepalive test
β Networking UDP: socket
β Networking cki netfilter test
β Networking tunnel: geneve basic test
β Networking tunnel: gre basic
β L2TP basic test
β Networking tunnel: vxlan basic
β Networking ipsec: basic netns - tunnel
β Libkcapi AF_ALG test
β pciutils: update pci ids test
β ALSA PCM loopback test
β ALSA Control (mixer) Userspace Element test
β storage: dm/common
β lvm snapper test
β trace: ftrace/tracer
π§ β xarray-idr-radixtree-test
π§ β Memory function: kaslr
π§ β audit: audit testsuite test
Host 5:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
s390x:
Host 1:
β Boot test
β Reboot test
β LTP - cve
β LTP - sched
β LTP - syscalls
β LTP - can
β LTP - commands
β LTP - containers
β LTP - dio
β LTP - fs
β LTP - fsx
β LTP - math
β LTP - hugetlb
β LTP - mm
β LTP - nptl
β LTP - pty
β LTP - ipc
β LTP - tracing
β LTP: openposix test suite
β CIFS Connectathon
β POSIX pjd-fstest suites
β NFS Connectathon
β Loopdev Sanity
β jvm - jcstress tests
β Memory: fork_mem
β Memory function: memfd_create
β AMTU (Abstract Machine Test Utility)
β Networking bridge: sanity
β Ethernet drivers sanity
β Networking route: pmtu
β Networking route_func - local
β Networking route_func - forward
β Networking TCP: keepalive test
β Networking UDP: socket
β Networking cki netfilter test
β Networking tunnel: geneve basic test
β Networking tunnel: gre basic
β L2TP basic test
β Networking tunnel: vxlan basic
β Networking ipsec: basic netns - transport
β Networking ipsec: basic netns - tunnel
β Libkcapi AF_ALG test
β storage: dm/common
β lvm snapper test
β trace: ftrace/tracer
π§ β xarray-idr-radixtree-test
π§ β Memory function: kaslr
π§ β audit: audit testsuite test
Host 2:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 3:
β Boot test
β Reboot test
β selinux-policy: serge-testsuite
β Storage blktests - blk
β Storage: swraid mdadm raid_module test
β stress: stress-ng - interrupt
β stress: stress-ng - cpu
β stress: stress-ng - cpu-cache
β stress: stress-ng - memory
π§ β Podman system test - as root
π§ β Podman system test - as user
π§ β Storage blktests - nvme-tcp
π§ β lvm cache test
π§ β stress: stress-ng - os
Host 4:
β Boot test
β Reboot test
π§ β Storage blktests - srp
x86_64:
Host 1:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ xfstests - nfsv4.2
β‘β‘β‘ xfstests - cifsv3.11
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ power-management: cpupower/sanity test
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ CPU: Idle Test
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ Storage: lvm device-mapper test - upstream
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Host 2:
β Boot test
β Reboot test
π§ β Storage blktests - srp
Host 3:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β Boot test
β Reboot test
β ACPI table test
β LTP - cve
β LTP - sched
β LTP - syscalls
β‘β‘β‘ LTP - can
β‘β‘β‘ LTP - commands
β‘β‘β‘ LTP - containers
β‘β‘β‘ LTP - dio
β‘β‘β‘ LTP - fs
β‘β‘β‘ LTP - fsx
β‘β‘β‘ LTP - math
β‘β‘β‘ LTP - hugetlb
β‘β‘β‘ LTP - mm
β‘β‘β‘ LTP - nptl
β‘β‘β‘ LTP - pty
β‘β‘β‘ LTP - ipc
β‘β‘β‘ LTP - tracing
β‘β‘β‘ LTP: openposix test suite
β‘β‘β‘ CIFS Connectathon
β‘β‘β‘ POSIX pjd-fstest suites
β‘β‘β‘ NFS Connectathon
β‘β‘β‘ Loopdev Sanity
β‘β‘β‘ jvm - jcstress tests
β‘β‘β‘ Memory: fork_mem
β‘β‘β‘ Memory function: memfd_create
β‘β‘β‘ AMTU (Abstract Machine Test Utility)
β‘β‘β‘ Networking bridge: sanity
β‘β‘β‘ Ethernet drivers sanity
β‘β‘β‘ Networking socket: fuzz
β‘β‘β‘ Networking route: pmtu
β‘β‘β‘ Networking route_func - local
β‘β‘β‘ Networking route_func - forward
β‘β‘β‘ Networking TCP: keepalive test
β‘β‘β‘ Networking UDP: socket
β‘β‘β‘ Networking cki netfilter test
β‘β‘β‘ Networking tunnel: geneve basic test
β‘β‘β‘ Networking tunnel: gre basic
β‘β‘β‘ L2TP basic test
β‘β‘β‘ Networking tunnel: vxlan basic
β‘β‘β‘ Networking ipsec: basic netns - transport
β‘β‘β‘ Networking ipsec: basic netns - tunnel
β‘β‘β‘ Libkcapi AF_ALG test
β‘β‘β‘ pciutils: sanity smoke test
β‘β‘β‘ pciutils: update pci ids test
β‘β‘β‘ ALSA PCM loopback test
β‘β‘β‘ ALSA Control (mixer) Userspace Element test
β‘β‘β‘ storage: dm/common
β‘β‘β‘ lvm snapper test
β‘β‘β‘ storage: SCSI VPD
β‘β‘β‘ trace: ftrace/tracer
π§ β‘β‘β‘ xarray-idr-radixtree-test
π§ β‘β‘β‘ i2c: i2cdetect sanity
π§ β‘β‘β‘ Firmware test suite
π§ β‘β‘β‘ Memory function: kaslr
π§ β‘β‘β‘ Networking: igmp conformance test
π§ β‘β‘β‘ audit: audit testsuite test
Host 4:
β Boot test
β Reboot test
π§ β Storage blktests - nvmeof-mp
Host 5:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ xfstests - nfsv4.2
β‘β‘β‘ xfstests - cifsv3.11
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ power-management: cpupower/sanity test
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ CPU: Idle Test
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ Storage: lvm device-mapper test - upstream
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Host 6:
β‘ Internal infrastructure issues prevented one or more tests (marked
with β‘β‘β‘) from running on this architecture.
This is not the fault of the kernel that was tested.
β‘β‘β‘ Boot test
β‘β‘β‘ Reboot test
β‘β‘β‘ xfstests - ext4
β‘β‘β‘ xfstests - xfs
β‘β‘β‘ xfstests - nfsv4.2
β‘β‘β‘ xfstests - cifsv3.11
β‘β‘β‘ IPMI driver test
β‘β‘β‘ IPMItool loop stress test
β‘β‘β‘ selinux-policy: serge-testsuite
β‘β‘β‘ power-management: cpupower/sanity test
β‘β‘β‘ Storage blktests - blk
β‘β‘β‘ Storage block - filesystem fio test
β‘β‘β‘ Storage block - queue scheduler test
β‘β‘β‘ storage: software RAID testing
β‘β‘β‘ Storage: swraid mdadm raid_module test
β‘β‘β‘ stress: stress-ng - interrupt
β‘β‘β‘ stress: stress-ng - cpu
β‘β‘β‘ stress: stress-ng - cpu-cache
β‘β‘β‘ stress: stress-ng - memory
π§ β‘β‘β‘ Podman system test - as root
π§ β‘β‘β‘ Podman system test - as user
π§ β‘β‘β‘ CPU: Idle Test
π§ β‘β‘β‘ xfstests - btrfs
π§ β‘β‘β‘ Storage blktests - nvme-tcp
π§ β‘β‘β‘ Storage: lvm device-mapper test - upstream
π§ β‘β‘β‘ lvm cache test
π§ β‘β‘β‘ stress: stress-ng - os
Test sources: https://gitlab.com/cki-project/kernel-tests
π Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with β‘β‘β‘.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with π§. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with β±.
Targeted tests
--------------
Test runs for patches always include a set of base tests, plus some
tests chosen based on the file paths modified by the patch. The latter
are called "targeted tests". If no targeted tests are run, that means
no patch-specific tests are available. Please, consider contributing a
targeted test for related patches to increase test coverage. See
https://docs.engineering.redhat.com/x/_wEZB for more details.
On Wed, Nov 24, 2021 at 4:54 AM Rafael J. Wysocki <rafael(a)kernel.org> wrote:
>
> On Tue, Nov 16, 2021 at 9:22 PM Evan Green <evgreen(a)chromium.org> wrote:
> >
> > On Tue, Nov 16, 2021 at 9:54 AM Rafael J. Wysocki <rafael(a)kernel.org> wrote:
> > >
> > > On Mon, Nov 15, 2021 at 6:13 PM Evan Green <evgreen(a)chromium.org> wrote:
> > > >
> > > > Gentle bump.
> > > >
> > > >
> > > > On Fri, Oct 29, 2021 at 12:24 PM Evan Green <evgreen(a)chromium.org> wrote:
> > > > >
> > > > > snapshot_write() is inappropriately limiting the amount of data that can
> > > > > be written in cases where a partial page has already been written. For
> > > > > example, one would expect to be able to write 1 byte, then 4095 bytes to
> > > > > the snapshot device, and have both of those complete fully (since now
> > > > > we're aligned to a page again). But what ends up happening is we write 1
> > > > > byte, then 4094/4095 bytes complete successfully.
> > > > >
> > > > > The reason is that simple_write_to_buffer()'s second argument is the
> > > > > total size of the buffer, not the size of the buffer minus the offset.
> > > > > Since simple_write_to_buffer() accounts for the offset in its
> > > > > implementation, snapshot_write() can just pass the full page size
> > > > > directly down.
> > > > >
> > > > > Signed-off-by: Evan Green <evgreen(a)chromium.org>
> > > > > ---
> > > > >
> > > > > kernel/power/user.c | 2 +-
> > > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/kernel/power/user.c b/kernel/power/user.c
> > > > > index 740723bb388524..ad241b4ff64c58 100644
> > > > > --- a/kernel/power/user.c
> > > > > +++ b/kernel/power/user.c
> > > > > @@ -177,7 +177,7 @@ static ssize_t snapshot_write(struct file *filp, const char __user *buf,
> > > > > if (res <= 0)
> > > > > goto unlock;
> > > > > } else {
> > > > > - res = PAGE_SIZE - pg_offp;
> > > > > + res = PAGE_SIZE;
> > > > > }
> > > > >
> > > > > if (!data_of(data->handle)) {
> > > > > --
> > >
> > > Do you actually see this problem in practice?
> >
> > Yes. I may fire up another thread to explain why I'm stuck doing a
> > partial page write, and how I might be able to stop doing that in the
> > future with some kernel help. But either way, this is a bug.
>
> OK, patch applied as 5.16-rc material.
>
> I guess it should go into -stable kernels too?
Yes, putting it into -stable would make sense also. I should have CCed
them originally, doing that now.
-Evan
Each peer's endpoint contains a dst_cache entry that takes a reference
to another netdev. When the containing namespace exits, we take down the
socket and prevent future sockets from being created (by setting
creating_net to NULL), which removes that potential reference on the
netns. However, it doesn't release references to the netns that a netdev
cached in dst_cache might be taking, so the netns still might fail to
exit. Since the socket is gimped anyway, we can simply clear all the
dst_caches (by way of clearing the endpoint src), which will release all
references.
However, the current dst_cache_reset function only releases those
references lazily. But it turns out that all of our usages of
wg_socket_clear_peer_endpoint_src are called from contexts that are not
exactly high-speed or bottle-necked. For example, when there's
connection difficulty, or when userspace is reconfiguring the interface.
And in particular for this patch, when the netns is exiting. So for
those cases, it makes more sense to call dst_release immediately. For
that, we add a small helper function to dst_cache.
This patch also adds a test to netns.sh from Hangbin Liu to ensure this
doesn't regress.
Test-by: Hangbin Liu <liuhangbin(a)gmail.com>
Reported-by: Xiumei Mu <xmu(a)redhat.com>
Cc: Hangbin Liu <liuhangbin(a)gmail.com>
Cc: Toke HΓΈiland-JΓΈrgensen <toke(a)redhat.com>
Cc: Paolo Abeni <pabeni(a)redhat.com>
Fixes: 900575aa33a3 ("wireguard: device: avoid circular netns references")
Cc: stable(a)vger.kernel.org
Signed-off-by: Jason A. Donenfeld <Jason(a)zx2c4.com>
---
drivers/net/wireguard/device.c | 3 +++
drivers/net/wireguard/socket.c | 2 +-
include/net/dst_cache.h | 11 ++++++++++
net/core/dst_cache.c | 19 +++++++++++++++++
tools/testing/selftests/wireguard/netns.sh | 24 +++++++++++++++++++++-
5 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireguard/device.c b/drivers/net/wireguard/device.c
index 551ddaaaf540..77e64ea6be67 100644
--- a/drivers/net/wireguard/device.c
+++ b/drivers/net/wireguard/device.c
@@ -398,6 +398,7 @@ static struct rtnl_link_ops link_ops __read_mostly = {
static void wg_netns_pre_exit(struct net *net)
{
struct wg_device *wg;
+ struct wg_peer *peer;
rtnl_lock();
list_for_each_entry(wg, &device_list, device_list) {
@@ -407,6 +408,8 @@ static void wg_netns_pre_exit(struct net *net)
mutex_lock(&wg->device_update_lock);
rcu_assign_pointer(wg->creating_net, NULL);
wg_socket_reinit(wg, NULL, NULL);
+ list_for_each_entry(peer, &wg->peer_list, peer_list)
+ wg_socket_clear_peer_endpoint_src(peer);
mutex_unlock(&wg->device_update_lock);
}
}
diff --git a/drivers/net/wireguard/socket.c b/drivers/net/wireguard/socket.c
index 8c496b747108..6f07b949cb81 100644
--- a/drivers/net/wireguard/socket.c
+++ b/drivers/net/wireguard/socket.c
@@ -308,7 +308,7 @@ void wg_socket_clear_peer_endpoint_src(struct wg_peer *peer)
{
write_lock_bh(&peer->endpoint_lock);
memset(&peer->endpoint.src6, 0, sizeof(peer->endpoint.src6));
- dst_cache_reset(&peer->endpoint_cache);
+ dst_cache_reset_now(&peer->endpoint_cache);
write_unlock_bh(&peer->endpoint_lock);
}
diff --git a/include/net/dst_cache.h b/include/net/dst_cache.h
index 67634675e919..df6622a5fe98 100644
--- a/include/net/dst_cache.h
+++ b/include/net/dst_cache.h
@@ -79,6 +79,17 @@ static inline void dst_cache_reset(struct dst_cache *dst_cache)
dst_cache->reset_ts = jiffies;
}
+/**
+ * dst_cache_reset_now - invalidate the cache contents immediately
+ * @dst_cache: the cache
+ *
+ * The caller must be sure there are no concurrent users, as this frees
+ * all dst_cache users immediately, rather than waiting for the next
+ * per-cpu usage like dst_cache_reset does. Most callers should use the
+ * higher speed lazily-freed dst_cache_reset function instead.
+ */
+void dst_cache_reset_now(struct dst_cache *dst_cache);
+
/**
* dst_cache_init - initialize the cache, allocating the required storage
* @dst_cache: the cache
diff --git a/net/core/dst_cache.c b/net/core/dst_cache.c
index be74ab4551c2..0ccfd5fa5cb9 100644
--- a/net/core/dst_cache.c
+++ b/net/core/dst_cache.c
@@ -162,3 +162,22 @@ void dst_cache_destroy(struct dst_cache *dst_cache)
free_percpu(dst_cache->cache);
}
EXPORT_SYMBOL_GPL(dst_cache_destroy);
+
+void dst_cache_reset_now(struct dst_cache *dst_cache)
+{
+ int i;
+
+ if (!dst_cache->cache)
+ return;
+
+ dst_cache->reset_ts = jiffies;
+ for_each_possible_cpu(i) {
+ struct dst_cache_pcpu *idst = per_cpu_ptr(dst_cache->cache, i);
+ struct dst_entry *dst = idst->dst;
+
+ idst->cookie = 0;
+ idst->dst = NULL;
+ dst_release(dst);
+ }
+}
+EXPORT_SYMBOL_GPL(dst_cache_reset_now);
diff --git a/tools/testing/selftests/wireguard/netns.sh b/tools/testing/selftests/wireguard/netns.sh
index 2e5c1630885e..8a9461aa0878 100755
--- a/tools/testing/selftests/wireguard/netns.sh
+++ b/tools/testing/selftests/wireguard/netns.sh
@@ -613,6 +613,28 @@ ip0 link set wg0 up
kill $ncat_pid
ip0 link del wg0
+# Ensure that dst_cache references don't outlive netns lifetime
+ip1 link add dev wg0 type wireguard
+ip2 link add dev wg0 type wireguard
+configure_peers
+ip1 link add veth1 type veth peer name veth2
+ip1 link set veth2 netns $netns2
+ip1 addr add fd00:aa::1/64 dev veth1
+ip2 addr add fd00:aa::2/64 dev veth2
+ip1 link set veth1 up
+ip2 link set veth2 up
+waitiface $netns1 veth1
+waitiface $netns2 veth2
+ip1 -6 route add default dev veth1 via fd00:aa::2
+ip2 -6 route add default dev veth2 via fd00:aa::1
+n1 wg set wg0 peer "$pub2" endpoint [fd00:aa::2]:2
+n2 wg set wg0 peer "$pub1" endpoint [fd00:aa::1]:1
+n1 ping6 -c 1 fd00::2
+pp ip netns delete $netns1
+pp ip netns delete $netns2
+pp ip netns add $netns1
+pp ip netns add $netns2
+
# Ensure there aren't circular reference loops
ip1 link add wg1 type wireguard
ip2 link add wg2 type wireguard
@@ -631,7 +653,7 @@ while read -t 0.1 -r line 2>/dev/null || [[ $? -ne 142 ]]; do
done < /dev/kmsg
alldeleted=1
for object in "${!objects[@]}"; do
- if [[ ${objects["$object"]} != *createddestroyed ]]; then
+ if [[ ${objects["$object"]} != *createddestroyed && ${objects["$object"]} != *createdcreateddestroyeddestroyed ]]; then
echo "Error: $object: merely ${objects["$object"]}" >&3
alldeleted=0
fi
--
2.34.1