[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <194985102fd.cfcde36741735.2441429304516590558@collabora.com>
Date: Fri, 24 Jan 2025 09:37:13 -0300
From: Helen Mae Koike Fornazier <helen.koike@...labora.com>
To: "Simona Vetter" <simona.vetter@...ll.ch>
Cc: "Vignesh Raman" <vignesh.raman@...labora.com>,
"kernelci" <kernelci@...ts.linux.dev>,
"linuxtv-ci" <linuxtv-ci@...uxtv.org>,
"dave.pigott" <dave.pigott@...labora.com>,
"mripard" <mripard@...nel.org>,
"linux-kernel" <linux-kernel@...r.kernel.org>,
"dri-devel" <dri-devel@...ts.freedesktop.org>,
"linux-kselftest" <linux-kselftest@...r.kernel.org>,
"gustavo.padovan" <gustavo.padovan@...labora.com>,
"pawiecz" <pawiecz@...labora.com>, "spbnick" <spbnick@...il.com>,
"tales.aparecida" <tales.aparecida@...il.com>,
"workflows" <workflows@...r.kernel.org>,
"skhan" <skhan@...uxfoundation.org>,
"kunit-dev" <kunit-dev@...glegroups.com>,
"nfraprado" <nfraprado@...labora.com>,
"davidgow" <davidgow@...gle.com>, "cocci" <cocci@...ia.fr>,
"Julia.Lawall" <Julia.Lawall@...ia.fr>,
"laura.nao" <laura.nao@...labora.com>,
"kernel" <kernel@...labora.com>,
"torvalds" <torvalds@...uxfoundation.org>,
"gregkh" <gregkh@...uxfoundation.org>,
"daniels" <daniels@...labora.com>,
"shreeya.patel" <shreeya.patel@...labora.com>,
"denys.f" <denys.f@...labora.com>,
"nicolas.dufresne" <nicolas.dufresne@...labora.com>,
"louis.chauvet" <louis.chauvet@...tlin.com>,
"hamohammed.sa" <hamohammed.sa@...il.com>,
"melissa.srw" <melissa.srw@...il.com>, "simona" <simona@...ll.ch>,
"airlied" <airlied@...il.com>, "Tim.Bird" <Tim.Bird@...y.com>,
"laurent.pinchart" <laurent.pinchart@...asonboard.com>,
"broonie" <broonie@...nel.org>, "leobras.c" <leobras.c@...il.com>,
"groeck" <groeck@...gle.com>, "rdunlap" <rdunlap@...radead.org>,
"geert" <geert@...ux-m68k.org>,
"michel.daenzer" <michel.daenzer@...lbox.org>,
"sakari.ailus" <sakari.ailus@....fi>, "jarkko" <jarkko@...nel.org>
Subject: Re: [PATCH v2 3/5] kci-gitlab: Add drm scenario
Hi Simona,
Thank you for your comments,
---- On Thu, 23 Jan 2025 17:06:15 -0300 Simona Vetter wrote ---
> On Thu, Jan 23, 2025 at 07:23:33PM +0530, Vignesh Raman wrote:
> > Add a drm scenario that includes a job to run IGT tests for vkms.
> > It also includes helper scripts to build deqp-runner and IGT,
> > which are based on the mesa-ci project.
> >
> > The xfails are added from drm-ci (drivers/gpu/drm/ci/xfails)
> > Refer to Documentation/gpu/automated_testing.rst for details
> > regarding fails/flakes/skips files.
>
> Why does this need to be duplicated, especially since this is another
> gitlab-ci support like we have already? I know there's difference between
> the gitlab on fd.o and others, but this is a bit much.
We didn't want to duplicate, we were planing to remove it from drm-ci, please
see this commit:
https://gitlab.freedesktop.org/vigneshraman/kernel/-/commit/d5ac1612be0c67ea7b164800ccf124481042f5ce
But we wanted to make sure the entire approach is correct first, so we dropped
that commit for this version.
>
> What I expected:
> - Stuff that's relevant for the subsystem like the xfail list, or the igt
> version we want to test against or any of these things would stay in the
> subsystem ci folder, so drivers/gpu/drm/ci here. There should be no need
> to duplicate anything, definitely not for a virtual driver like vkms.
We can move the ci scenario folder to be inside the subsystem specific folder,
I think this is a nice idea, we can do that for v3.
>
> - Stuff that's used by multiple different ci needs to be shared somewhere,
> maybe in tools/ci/gitlab-ci/ or maybe in the drm/ci directory. Things
> like the script to build igt or assemble a drm specific container.
> Ideally we'd also be able to share entire gitlab build targets, at least
> the pure sw stuff really should work the same everywhere (plus/minus
> infra differences in how the docker images are stitched together maybe,
> but that's separate build targets anyway).
Ack
>
> - Stuff that's needed by the kernel at large (like the rust build script)
> shouldn't be in a subsystem specific place at all once we get something
> else than what we have in drm/ci right now.
Ack
>
> I'm confused.
I hope my replies above help, and thanks a lot for your feedback. please,
keep them coming :)
Cheers, Helen
>
> Cheers, Sima
>
> >
> > Signed-off-by: Vignesh Raman vignesh.raman@...labora.com>
> > ---
> > MAINTAINERS | 1 +
> > .../scenarios/drm/build-deqp-runner.sh | 42 +
> > tools/ci/gitlab-ci/scenarios/drm/build-igt.sh | 80 ++
> > .../ci/gitlab-ci/scenarios/drm/build-rust.sh | 42 +
> > .../scenarios/drm/create-cross-file.sh | 65 ++
> > tools/ci/gitlab-ci/scenarios/drm/drm.yml | 45 +-
> > .../scenarios/drm/prepare-container.sh | 18 +
> > tools/ci/gitlab-ci/scenarios/drm/run-igt.sh | 83 ++
> > tools/ci/gitlab-ci/scenarios/drm/test.yml | 32 +
> > .../scenarios/drm/xfails/vkms-none-fails.txt | 22 +
> > .../scenarios/drm/xfails/vkms-none-flakes.txt | 90 ++
> > .../scenarios/drm/xfails/vkms-none-skips.txt | 812 ++++++++++++++++++
> > 12 files changed, 1326 insertions(+), 6 deletions(-)
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/build-deqp-runner.sh
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/build-igt.sh
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/build-rust.sh
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/create-cross-file.sh
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/prepare-container.sh
> > create mode 100755 tools/ci/gitlab-ci/scenarios/drm/run-igt.sh
> > create mode 100644 tools/ci/gitlab-ci/scenarios/drm/test.yml
> > create mode 100644 tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-fails.txt
> > create mode 100644 tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-flakes.txt
> > create mode 100644 tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-skips.txt
> >
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 874044e570f7..8de12618c3e1 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -7551,6 +7551,7 @@ S: Maintained
> > T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
> > F: Documentation/gpu/vkms.rst
> > F: drivers/gpu/drm/ci/xfails/vkms*
> > +F: tools/ci/gitlab-ci/scenarios/drm/xfails/vkms*
> > F: drivers/gpu/drm/vkms/
> >
> > DRM DRIVER FOR VIRTUALBOX VIRTUAL GPU
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/build-deqp-runner.sh b/tools/ci/gitlab-ci/scenarios/drm/build-deqp-runner.sh
> > new file mode 100755
> > index 000000000000..9f2574537423
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/build-deqp-runner.sh
> > @@ -0,0 +1,42 @@
> > +#!/usr/bin/env bash
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +#
> > +# Based on the build-deqp-runner.sh script from the mesa project:
> > +# https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/.gitlab-ci/container/build-deqp-runner.sh
> > +#
> > +# shellcheck disable=SC2086 # we want word splitting
> > +
> > +set -uex
> > +
> > +DEQP_RUNNER_GIT_URL="${DEQP_RUNNER_GIT_URL:-https://gitlab.freedesktop.org/mesa/deqp-runner.git}"
> > +DEQP_RUNNER_GIT_TAG="${DEQP_RUNNER_GIT_TAG:-v0.20.0}"
> > +
> > +git clone $DEQP_RUNNER_GIT_URL --single-branch --no-checkout
> > +pushd deqp-runner
> > +git checkout $DEQP_RUNNER_GIT_TAG
> > +
> > +RUST_TARGET="${RUST_TARGET:-}"
> > +
> > +# When CC (/usr/lib/ccache/gcc) variable is set, the rust compiler uses
> > +# this variable when cross-compiling arm32 and build fails for zsys-sys.
> > +# So unset the CC variable when cross-compiling for arm32.
> > +SAVEDCC=${CC:-}
> > +if [ "$RUST_TARGET" = "armv7-unknown-linux-gnueabihf" ]; then
> > + unset CC
> > +fi
> > +cargo install --locked \
> > + -j ${FDO_CI_CONCURRENT:-4} \
> > + --root /usr/local \
> > + ${EXTRA_CARGO_ARGS:-} \
> > + --path .
> > +CC=$SAVEDCC
> > +
> > +popd
> > +rm -rf deqp-runner
> > +
> > +# remove unused test runners
> > +if [ -z "${DEQP_RUNNER_GIT_TAG:-}" ]; then
> > + rm -f /usr/local/bin/igt-runner
> > +fi
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/build-igt.sh b/tools/ci/gitlab-ci/scenarios/drm/build-igt.sh
> > new file mode 100755
> > index 000000000000..fc82aa6fddec
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/build-igt.sh
> > @@ -0,0 +1,80 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +#
> > +# Based on the build-igt.sh script from the drm-ci project:
> > +# https://gitlab.freedesktop.org/drm/misc/kernel/-/blob/drm-misc-next/drivers/gpu/drm/ci/build-igt.sh
> > +
> > +set -ex
> > +
> > +function generate_testlist {
> > + set +x
> > + while read -r line; do
> > + if [ "$line" = "TESTLIST" ] || [ "$line" = "END TESTLIST" ]; then
> > + continue
> > + fi
> > +
> > + tests=$(echo "$line" | tr ' ' '\n')
> > +
> > + for test in $tests; do
> > + output=$(/igt/libexec/igt-gpu-tools/"$test" --list-subtests || true)
> > +
> > + if [ -z "$output" ]; then
> > + echo "$test"
> > + else
> > + echo "$output" | while read -r subtest; do
> > + echo "$test@...btest"
> > + done
> > + fi
> > + done
> > + done /igt/libexec/igt-gpu-tools/ci-testlist.txt
> > + set -x
> > +}
> > +
> > +git clone https://gitlab.freedesktop.org/drm/igt-gpu-tools.git --single-branch --no-checkout
> > +pushd igt-gpu-tools
> > +git checkout $IGT_VERSION
> > +
> > +if [[ "$KCI_KERNEL_ARCH" = "arm" ]]; then
> > + . ../tools/ci/gitlab-ci/scenarios/drm/create-cross-file.sh armhf
> > + EXTRA_MESON_ARGS="--cross-file /cross_file-armhf.txt"
> > +fi
> > +
> > +MESON_OPTIONS="-Doverlay=disabled \
> > + -Dchamelium=disabled \
> > + -Dvalgrind=disabled \
> > + -Dman=enabled \
> > + -Dtests=enabled \
> > + -Drunner=enabled \
> > + -Dlibunwind=enabled \
> > + -Dprefix=/igt"
> > +
> > +if [[ "$KCI_KERNEL_ARCH" = "arm64" ]] || [[ "$KCI_KERNEL_ARCH" = "arm" ]]; then
> > + MESON_OPTIONS="$MESON_OPTIONS -Dxe_driver=disabled"
> > +fi
> > +
> > +mkdir -p /igt
> > +meson build $MESON_OPTIONS $EXTRA_MESON_ARGS
> > +ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
> > +ninja -C build install
> > +
> > +if [[ "$KCI_KERNEL_ARCH" = "arm64" ]]; then
> > + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/aarch64-linux-gnu
> > +elif [[ "$KCI_KERNEL_ARCH" = "arm" ]]; then
> > + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib
> > +else
> > + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/x86_64-linux-gnu
> > +fi
> > +
> > +echo "Generating ci-testlist.txt"
> > +generate_testlist
> > +
> > +export INSTALL_PATH="${CI_PROJECT_DIR}/artifacts/"
> > +INSTALL_PATH+="igt-install-${KCI_KERNEL_ARCH}"
> > +mkdir -p "$INSTALL_PATH"
> > +
> > +tar -cf $INSTALL_PATH/igt.tar /igt
> > +
> > +popd
> > +rm -rf igt-gpu-tools
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/build-rust.sh b/tools/ci/gitlab-ci/scenarios/drm/build-rust.sh
> > new file mode 100755
> > index 000000000000..48702d5a9648
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/build-rust.sh
> > @@ -0,0 +1,42 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +#
> > +# Based on the build-rust.sh script from the mesa project:
> > +# https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/.gitlab-ci/container/build-rust.sh
> > +
> > +# Note that this script is not actually "building" rust, but build- is the
> > +# convention for the shared helpers for putting stuff in our containers.
> > +
> > +set -ex
> > +
> > +# cargo (and rustup) wants to store stuff in $HOME/.cargo, and binaries in
> > +# $HOME/.cargo/bin. Make bin a link to a public bin directory so the commands
> > +# are just available to all build jobs.
> > +mkdir -p "$HOME"/.cargo
> > +ln -s /usr/local/bin "$HOME"/.cargo/bin
> > +
> > +# Pick a specific snapshot from rustup so the compiler doesn't drift on us.
> > +RUST_VERSION=1.78.0-2024-05-02
> > +
> > +# For rust in Mesa, we use rustup to install. This lets us pick an arbitrary
> > +# version of the compiler, rather than whatever the container's Debian comes
> > +# with.
> > +curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
> > + --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
> > + --default-toolchain $RUST_VERSION \
> > + --profile minimal \
> > + -y
> > +
> > +rustup component add clippy rustfmt
> > +
> > +# Set up a config script for cross compiling -- cargo needs your system cc for
> > +# linking in cross builds, but doesn't know what you want to use for system cc.
> > +cat > /root/.cargo/config <<EOF
> > +[target.armv7-unknown-linux-gnueabihf]
> > +linker = "arm-linux-gnueabihf-gcc"
> > +
> > +[target.aarch64-unknown-linux-gnu]
> > +linker = "aarch64-linux-gnu-gcc"
> > +EOF
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/create-cross-file.sh b/tools/ci/gitlab-ci/scenarios/drm/create-cross-file.sh
> > new file mode 100755
> > index 000000000000..e078346f23b3
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/create-cross-file.sh
> > @@ -0,0 +1,65 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +#
> > +# Based on the create-cross-file.sh script from the mesa project:
> > +# https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/.gitlab-ci/container/create-cross-file.sh
> > +
> > +arch=$1
> > +cross_file="/cross_file-$arch.txt"
> > +meson env2mfile --cross --debarch "$arch" -o "$cross_file"
> > +
> > +# Explicitly set ccache path for cross compilers
> > +sed -i \
> > + "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" \
> > + "$cross_file"
> > +
> > +# Rely on qemu-user being configured in binfmt_misc on the host
> > +# shellcheck disable=SC1003 # how this sed doesn't seems to work for me locally
> > +sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
> > +
> > +# Add a line for rustc, which meson env2mfile is missing.
> > +cc=$(sed -n "s|^c\s*=\s*\[?'\(.*\)'\]?|\1|p" < "$cross_file")
> > +
> > +if [[ "$arch" = "arm64" ]]; then
> > + rust_target=aarch64-unknown-linux-gnu
> > +elif [[ "$arch" = "armhf" ]]; then
> > + rust_target=armv7-unknown-linux-gnueabihf
> > +elif [[ "$arch" = "i386" ]]; then
> > + rust_target=i686-unknown-linux-gnu
> > +elif [[ "$arch" = "ppc64el" ]]; then
> > + rust_target=powerpc64le-unknown-linux-gnu
> > +elif [[ "$arch" = "s390x" ]]; then
> > + rust_target=s390x-unknown-linux-gnu
> > +else
> > + echo "Needs rustc target mapping"
> > +fi
> > +
> > +# shellcheck disable=SC1003 # single-quoted string ends in a backslash
> > +sed -i \
> > + -e '/\[binaries\]/a\' \
> > + -e "rust = ['rustc', '--target=$rust_target', '-C', 'linker=$cc']" \
> > + "$cross_file"
> > +
> > +# Set up cmake cross compile toolchain file for dEQP builds
> > +toolchain_file="/toolchain-$arch.cmake"
> > +if [[ "$arch" = "arm64" ]]; then
> > + GCC_ARCH="aarch64-linux-gnu"
> > + DE_CPU="DE_CPU_ARM_64"
> > +elif [[ "$arch" = "armhf" ]]; then
> > + GCC_ARCH="arm-linux-gnueabihf"
> > + DE_CPU="DE_CPU_ARM"
> > +fi
> > +
> > +if [[ -n "$GCC_ARCH" ]]; then
> > + {
> > + echo "set(CMAKE_SYSTEM_NAME Linux)";
> > + echo "set(CMAKE_SYSTEM_PROCESSOR arm)";
> > + echo "set(CMAKE_C_COMPILER /usr/lib/ccache/$GCC_ARCH-gcc)";
> > + echo "set(CMAKE_CXX_COMPILER /usr/lib/ccache/$GCC_ARCH-g++)";
> > + echo "set(CMAKE_CXX_FLAGS_INIT \"-Wno-psabi\")"; # makes ABI warnings quiet for ARMv7
> > + echo "set(ENV{PKG_CONFIG} \"/usr/bin/$GCC_ARCH-pkgconf\")";
> > + echo "set(DE_CPU $DE_CPU)";
> > + } > "$toolchain_file"
> > +fi
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/drm.yml b/tools/ci/gitlab-ci/scenarios/drm/drm.yml
> > index 206e6f0d1a46..220223544673 100644
> > --- a/tools/ci/gitlab-ci/scenarios/drm/drm.yml
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/drm.yml
> > @@ -1,11 +1,44 @@
> > # SPDX-License-Identifier: GPL-2.0-or-later
> > #
> > # Copyright (C) 2024 Collabora, Helen Koike helen.koike@...labora.com>
> > +# DRM-specific scenario configurations based on drivers/gpu/drm/ci/build.yml
> >
> > -# Write here specific configurations and extensions for the given scenario
> > +variables:
> > + FDO_DISTRIBUTION_TAG: "2025-01-21-drm"
> > + FDO_DISTRIBUTION_EXEC: ./tools/ci/gitlab-ci/scenarios/drm/prepare-container.sh
> > + IGT_VERSION: a73311079a5d8ac99eb25336a8369a2c3c6b519b
> > + DEQP_RUNNER_GIT_URL: https://gitlab.freedesktop.org/mesa/deqp-runner.git
> > + DEQP_RUNNER_GIT_TAG: v0.20.0
> >
> > -# Example - overwrite kernel combinations in the pipeline
> > -# build:arm64:
> > -# variables:
> > -# KCI_KCONFIGS_ENABLE: "CONFIG1 CONFIG2"
> > -# KCI_DEFCONFIG: "my/custom/config1"
> > +build:x86_64:
> > + variables:
> > + KCI_KCONFIGS_ENABLE: "DRM_VKMS DRM_BOCHS"
> > +
> > +.igt:
> > + stage: build
> > + script:
> > + - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash ./tools/ci/gitlab-ci/scenarios/drm/build-igt.sh
> > + artifacts:
> > + when: always
> > + paths:
> > + - artifacts/
> > +
> > +# Build IGT for testing on devices
> > +# TODO: Fix cross compilation issue
> > +.igt:arm32:
> > + extends:
> > + - .arm32-config
> > + - .use-debian/arm64_build
> > + - .igt
> > +
> > +igt:arm64:
> > + extends:
> > + - .arm64-config
> > + - .use-debian/arm64_build
> > + - .igt
> > +
> > +igt:x86_64:
> > + extends:
> > + - .x86_64-config
> > + - .use-debian/x86_64_build
> > + - .igt
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/prepare-container.sh b/tools/ci/gitlab-ci/scenarios/drm/prepare-container.sh
> > new file mode 100755
> > index 000000000000..43fbfdcd3514
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/prepare-container.sh
> > @@ -0,0 +1,18 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +
> > +set -ex
> > +
> > +############### Install Smatch
> > +
> > +. ./tools/ci/gitlab-ci/ci-scripts/install-smatch.sh
> > +
> > +############### Install Rust toolchain
> > +
> > +. ./tools/ci/gitlab-ci/scenarios/drm/build-rust.sh
> > +
> > +############### Build dEQP runner
> > +
> > +. ./tools/ci/gitlab-ci/scenarios/drm/build-deqp-runner.sh
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/run-igt.sh b/tools/ci/gitlab-ci/scenarios/drm/run-igt.sh
> > new file mode 100755
> > index 000000000000..4822fcc2780f
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/run-igt.sh
> > @@ -0,0 +1,83 @@
> > +#!/bin/sh
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +#
> > +# Based on the igt_runner.sh script from the drm-ci project:
> > +# https://gitlab.freedesktop.org/drm/misc/kernel/-/blob/drm-misc-next/drivers/gpu/drm/ci/igt_runner.sh
> > +
> > +set -ex
> > +
> > +STATUS_FILE="${1}"
> > +
> > +export IGT_FORCE_DRIVER=${DRIVER_NAME}
> > +export PATH=$PATH:/igt/bin/
> > +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\
> > +/igt/lib/aarch64-linux-gnu:\
> > +/igt/lib/x86_64-linux-gnu:\
> > +/igt/lib:\
> > +/igt/lib64
> > +
> > +# Uncomment the below to debug problems with driver probing
> > +: '
> > +ls -l /dev/dri/
> > +cat /sys/kernel/debug/devices_deferred
> > +cat /sys/kernel/debug/device_component/*
> > +'
> > +
> > +# Dump drm state to confirm that kernel was able to find a connected display:
> > +set +e
> > +cat /sys/kernel/debug/dri/*/state
> > +set -e
> > +
> > +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt" ]; then
> > + IGT_SKIPS="--skips /install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt"
> > +fi
> > +
> > +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt" ]; then
> > + IGT_FLAKES="--flakes /install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt"
> > +fi
> > +
> > +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt" ]; then
> > + IGT_FAILS="--baseline /install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt"
> > +fi
> > +
> > +TESTLIST="/igt/libexec/igt-gpu-tools/ci-testlist.txt"
> > +
> > +# If the job is parallel at the gitab job level, take the corresponding fraction
> > +# of the caselist.
> > +if [ -n "$CI_NODE_INDEX" ]; then
> > + sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" $TESTLIST
> > +fi
> > +
> > +# core_getversion checks if the driver is loaded and probed correctly
> > +# so run it in all shards
> > +if ! grep -q "core_getversion" $TESTLIST; then
> > + # Add the line to the file
> > + echo "core_getversion" >> $TESTLIST
> > +fi
> > +
> > +set +e
> > +igt-runner \
> > + run \
> > + --igt-folder /igt/libexec/igt-gpu-tools \
> > + --caselist $TESTLIST \
> > + --output /results \
> > + -vvvv \
> > + $IGT_SKIPS \
> > + $IGT_FLAKES \
> > + $IGT_FAILS \
> > + --jobs 1
> > +ret=$?
> > +set -e
> > +
> > +deqp-runner junit \
> > + --testsuite IGT \
> > + --results /results/failures.csv \
> > + --output /results/junit.xml \
> > + --limit 50 \
> > + --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml"
> > +
> > +cd $oldpath
> > +echo $ret > ${STATUS_FILE}
> > +exit $ret
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/test.yml b/tools/ci/gitlab-ci/scenarios/drm/test.yml
> > new file mode 100644
> > index 000000000000..9fb37beb446d
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/test.yml
> > @@ -0,0 +1,32 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2025 Collabora, Vignesh Raman vignesh.raman@...labora.com>
> > +
> > +vkms:none:
> > + extends: build:x86_64
> > + stage: test
> > + timeout: "1h30m"
> > + variables:
> > + DRIVER_NAME: vkms
> > + GPU_VERSION: none
> > + tags:
> > + - kvm
> > + script:
> > + - mkdir -p /install/xfails
> > + - cp -rfv tools/ci/gitlab-ci/scenarios/drm/xfails /install/
> > + - cp $CI_PROJECT_DIR/artifacts/kernel-install-${KCI_KERNEL_ARCH}/bzImage /install
> > + - tar -xv -C / -f $CI_PROJECT_DIR/artifacts/igt-install-${KCI_KERNEL_ARCH}/igt.tar
> > + - mkdir -p $CI_PROJECT_DIR/results
> > + - ln -sf $CI_PROJECT_DIR/results /results
> > + - ./tools/ci/gitlab-ci/ci-scripts/run-virtme.sh /install/bzImage ./tools/ci/gitlab-ci/scenarios/drm/run-igt.sh "DRIVER_NAME=$DRIVER_NAME GPU_VERSION=$GPU_VERSION"
> > + artifacts:
> > + when: always
> > + paths:
> > + - results/
> > + needs:
> > + - build:x86_64
> > + - igt:x86_64
> > +
> > +test-boot:
> > + rules:
> > + - when: never
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-fails.txt b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-fails.txt
> > new file mode 100644
> > index 000000000000..3979c95c07ed
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-fails.txt
> > @@ -0,0 +1,22 @@
> > +kms_cursor_crc@...sor-rapid-movement-256x85,Fail
> > +kms_cursor_crc@...sor-rapid-movement-32x10,Fail
> > +kms_cursor_crc@...sor-rapid-movement-64x64,Fail
> > +kms_cursor_legacy@...ic-flip-before-cursor-atomic,Fail
> > +kms_cursor_legacy@...ic-flip-before-cursor-legacy,Fail
> > +kms_cursor_legacy@...sor-vs-flip-atomic,Fail
> > +kms_cursor_legacy@...sor-vs-flip-legacy,Fail
> > +kms_cursor_legacy@...sor-vs-flip-toggle,Fail
> > +kms_cursor_legacy@...sor-vs-flip-varying-size,Fail
> > +kms_cursor_legacy@...p-vs-cursor-atomic,Fail
> > +kms_cursor_legacy@...p-vs-cursor-crc-atomic,Fail
> > +kms_cursor_legacy@...p-vs-cursor-crc-legacy,Fail
> > +kms_cursor_legacy@...p-vs-cursor-legacy,Fail
> > +kms_flip@...p-vs-modeset-vs-hang,Fail
> > +kms_flip@...p-vs-panning-vs-hang,Fail
> > +kms_writeback@...teback-check-output,Fail
> > +kms_writeback@...teback-check-output-XRGB2101010,Fail
> > +kms_writeback@...teback-fb-id,Fail
> > +kms_writeback@...teback-fb-id-XRGB2101010,Fail
> > +kms_writeback@...teback-invalid-parameters,Fail
> > +kms_writeback@...teback-pixel-formats,Fail
> > +perf@...5-ref-count,Fail
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-flakes.txt b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-flakes.txt
> > new file mode 100644
> > index 000000000000..62428f3c8f31
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-flakes.txt
> > @@ -0,0 +1,90 @@
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_cursor_legacy@...g-nonblocking-modeset-vs-cursor-atomic
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...ic-flip-vs-wf_vblank
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...p-vs-expired-vblank-interruptible
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...p-vs-wf_vblank-interruptible
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...in-flip-fb-recreate-interruptible
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...in-flip-ts-check
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...in-flip-ts-check-interruptible
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...p-vs-absolute-wf_vblank
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...p-vs-absolute-wf_vblank-interruptible
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-g0df7b9b97
> > +# Linux Version: 6.9.0-rc7
> > +kms_flip@...p-vs-blocking-wf-vblank
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-gf13702b8e
> > +# Linux Version: 6.10.0-rc5
> > +kms_cursor_legacy@...p-vs-cursor-varying-size
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-gf13702b8e
> > +# Linux Version: 6.10.0-rc5
> > +kms_flip@...p-vs-expired-vblank
> > +
> > +# Board Name: vkms
> > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u
> > +# Failure Rate: 50
> > +# IGT Version: 1.28-gf13702b8e
> > +# Linux Version: 6.10.0-rc5
> > +kms_pipe_crc_basic@...blocking-crc-frame-sequence
> > diff --git a/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-skips.txt b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-skips.txt
> > new file mode 100644
> > index 000000000000..24659c18c765
> > --- /dev/null
> > +++ b/tools/ci/gitlab-ci/scenarios/drm/xfails/vkms-none-skips.txt
> > @@ -0,0 +1,812 @@
> > +# skip suspend tests
> > +.*suspend.*
> > +
> > +# keeps printing vkms_vblank_simulate: vblank timer overrun and never ends
> > +kms_invalid_mode@...-max-clock
> > +
> > +# kernel panic seen with kms_cursor_crc tests
> > +kms_cursor_crc.*
> > +# kms_cursor_crc@...sor-rapid-movement-32x10
> > +# Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 0 PID: 2635 Comm: kworker/u8:13 Not tainted 6.9.0-rc7-g40935263a1fd #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> > +# RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246
> > +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> > +# RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8
> > +# RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700
> > +# R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000078 CR3: 000000010bd30000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x490
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# ? compose_active_planes+0x2a3/0x4e0 [vkms]
> > +# ? srso_return_thunk+0x5/0x5f
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x1f4/0x6b0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x350
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 0000000000000078
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> > +# RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246
> > +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> > +# RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8
> > +# RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700
> > +# R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +
> > +#kms_cursor_crc@...sor-rapid-movement-256x85
> > +# [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow.
> > +# Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 PID: 10 Comm: kworker/u8:0 Not tainted 6.9.0-rc7-g646381cde463 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> > +# RSP: 0018:ffffa7e980057d58 EFLAGS: 00010246
> > +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> > +# RDX: 0000000000000000 RSI: ffff977987aa5c00 RDI: 000000001b43a85f
> > +# RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff977981bf0000 R11: 0000000000000000 R12: ffff977989622590
> > +# R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000078 CR3: 0000000109b38000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x490
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# ? compose_active_planes+0x2a3/0x4e0 [vkms]
> > +# ? srso_return_thunk+0x5/0x5f
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x1f4/0x6b0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x350
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 0000000000000078
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms]
> > +# Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34
> > +# RSP: 0018:ffffa7e980057d58 EFLAGS: 00010246
> > +# RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002
> > +# RDX: 0000000000000000 RSI: ffff977987aa5c00 RDI: 000000001b43a85f
> > +# RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff977981bf0000 R11: 0000000000000000 R12: ffff977989622590
> > +# R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000078 CR3: 0000000109b38000 CR4: 0000000000350ef0
> > +
> > +#kms_cursor_crc@...sor-onscreen-256x256
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 PID: 1913 Comm: kworker/u8:6 Not tainted 6.10.0-rc5-g8a28e73ebead #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffb477409fbd58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff8b124a242000
> > +# RDX: 00000000000000ff RSI: ffff8b124a243ff8 RDI: ffff8b124a244000
> > +# RBP: 0000000000000002 R08: 0000000000000000 R09: 00000000000003ff
> > +# R10: ffff8b124a244000 R11: 0000000000000000 R12: ffff8b1249282f30
> > +# R13: 0000000000000002 R14: 0000000000000002 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000018 CR3: 0000000107a86000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x344/0x4e0 [vkms]
> > +# ? compose_active_planes+0x32f/0x4e0 [vkms]
> > +# ? srso_return_thunk+0x5/0x5f
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x350
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 0000000000000018
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffb477409fbd58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff8b124a242000
> > +# RDX: 00000000000000ff RSI: ffff8b124a243ff8 RDI: ffff8b124a244000
> > +# RBP: 0000000000000002 R08: 0000000000000000 R09: 00000000000003ff
> > +# R10: ffff8b124a244000 R11: 0000000000000000 R12: ffff8b1249282f30
> > +# R13: 0000000000000002 R14: 0000000000000002 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000018 CR3: 0000000107a86000 CR4: 0000000000350ef0
> > +
> > +kms_cursor_edge_walk@...x128-right-edge
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 0 PID: 1911 Comm: kworker/u8:3 Not tainted 6.10.0-rc5-g5e7a002eefe5 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffb2f040a43d58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffffa2c181792000
> > +# RDX: 0000000000000000 RSI: ffffa2c181793ff8 RDI: ffffa2c181790000
> > +# RBP: 0000000000000031 R08: 0000000000000000 R09: 00000000000003ff
> > +# R10: ffffa2c181790000 R11: 0000000000000000 R12: ffffa2c1814fa810
> > +# R13: 0000000000000031 R14: 0000000000000031 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffffa2c1abc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000018 CR3: 0000000106768000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? srso_return_thunk+0x5/0x5f
> > +# ? mark_held_locks+0x49/0x80
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x344/0x4e0 [vkms]
> > +# ? compose_active_planes+0x32f/0x4e0 [vkms]
> > +# ? srso_return_thunk+0x5/0x5f
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x350
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 0000000000000018
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffb2f040a43d58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffffa2c181792000
> > +# RDX: 0000000000000000 RSI: ffffa2c181793ff8 RDI: ffffa2c181790000
> > +# RBP: 0000000000000031 R08: 0000000000000000 R09: 00000000000003ff
> > +# R10: ffffa2c181790000 R11: 0000000000000000 R12: ffffa2c1814fa810
> > +# R13: 0000000000000031 R14: 0000000000000031 R15: 000000000000
> > +
> > +kms_cursor_edge_walk@...x128-left-edge
> > +# DEBUG - Begin test kms_cursor_edge_walk@...x128-left-edge
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 0 UID: 0 PID: 27 Comm: kworker/u8:1 Not tainted 6.11.0-rc5-g5d3429a7e9aa #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffa437800ebd58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffffa0e841904000
> > +# RDX: 00000000000000ff RSI: ffffa0e841905ff8 RDI: ffffa0e841902000
> > +# RBP: 0000000000000000 R08: ffffa0e84158a600 R09: 00000000000003ff
> > +# R10: 0000000078b2bcd2 R11: 00000000278b2bcd R12: ffffa0e84870fc60
> > +# R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000018 CR3: 0000000101710000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x344/0x4e0 [vkms]
> > +# ? compose_active_planes+0x32f/0x4e0 [vkms]
> > +# ? srso_return_thunk+0x5/0x5f
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x310
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 0000000000000018
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x344/0x4e0 [vkms]
> > +# Code: 6a 34 0f 8e 91 fe ff ff 44 89 ea 48 8d 7c 24 48 e8 71 f0 ff ff 4b 8b 04 fc 48 8b 4c 24 50 48 8b 7c 24 40 48 8b 80 48 01 00 00 63 70 18 8b 40 20 48 89 f2 48 c1 e6 03 29 d0 48 8b 54 24 48 48
> > +# RSP: 0018:ffffa437800ebd58 EFLAGS: 00010282
> > +# RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffffa0e841904000
> > +# RDX: 00000000000000ff RSI: ffffa0e841905ff8 RDI: ffffa0e841902000
> > +# RBP: 0000000000000000 R08: ffffa0e84158a600 R09: 00000000000003ff
> > +# R10: 0000000078b2bcd2 R11: 00000000278b2bcd R12: ffffa0e84870fc60
> > +# R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
> > +# FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 0000000000000018 CR3: 0000000101710000 CR4: 0000000000350ef0
> > +# vkms_vblank_simulate: vblank timer overrun
> > +
> > +# DEBUG - Begin test kms_cursor_crc@...sor-rapid-movement-64x64
> > +# ------------[ cut here ]------------
> > +# WARNING: CPU: 1 PID: 1250 at drivers/gpu/drm/vkms/vkms_crtc.c:139 vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Modules linked in: vkms
> > +# CPU: 1 UID: 0 PID: 1250 Comm: kms_cursor_crc Not tainted 6.13.0-rc2-ge95c88d68ac3 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# RIP: 0010:vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Code: f7 48 89 f3 e8 d0 bf ee ec 48 8b 83 50 01 00 00 a8 01 75 15 48 8b bb a0 01 00 00 e8 59 05 95 ec 48 89 df 5b e9 50 05 95 ec 90 0b 90 eb e5 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90
> > +# RSP: 0018:ffff9fb640aafb08 EFLAGS: 00010202
> > +# RAX: ffff8e7240859e05 RBX: ffff8e7241cd6400 RCX: ffffffffae496b65
> > +# RDX: ffffffffad2d1f80 RSI: 0000000000000000 RDI: 0000000000000000
> > +# RBP: 0000000000000000 R08: 0000000000000034 R09: 0000000000000002
> > +# R10: 0000000047dd15a5 R11: 00000000547dd15a R12: ffff8e72590cc000
> > +# R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
> > +# FS: 00007f0942ad56c0(0000) GS:ffff8e726bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 00007f0942ad0008 CR3: 0000000118d1e000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __warn+0x8c/0x190
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? report_bug+0x164/0x190
> > +# ? handle_bug+0x54/0x90
> > +# ? exc_invalid_op+0x17/0x70
> > +# ? asm_exc_invalid_op+0x1a/0x20
> > +# ? __pfx_drm_property_free_blob+0x10/0x10
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? vkms_atomic_crtc_destroy_state+0x10/0x40 [vkms]
> > +# drm_atomic_state_default_clear+0x137/0x2f0
> > +# __drm_atomic_state_free+0x6c/0xb0
> > +# drm_atomic_helper_update_plane+0x100/0x150
> > +# drm_mode_cursor_universal+0x10e/0x270
> > +# drm_mode_cursor_common+0x115/0x240
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# drm_mode_cursor_ioctl+0x4a/0x70
> > +# drm_ioctl_kernel+0xb0/0x110
> > +# drm_ioctl+0x235/0x4b0
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# __x64_sys_ioctl+0x92/0xc0
> > +# do_syscall_64+0xbb/0x1d0
> > +# entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > +# RIP: 0033:0x7f0943a84cdb
> > +# Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
> > +# RSP: 002b:00007fff267d68d0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > +# RAX: ffffffffffffffda RBX: 000000000000005a RCX: 00007f0943a84cdb
> > +# RDX: 00007fff267d6960 RSI: 00000000c01c64a3 RDI: 0000000000000005
> > +# RBP: 00007fff267d6960 R08: 0000000000000007 R09: 00005619a60f3450
> > +# R10: fe95a83851609dee R11: 0000000000000246 R12: 00000000c01c64a3
> > +# R13: 0000000000000005 R14: 00005619a3cd2c68 R15: 00005619a608c830
> > +#
> > +# irq event stamp: 57793
> > +# hardirqs last enabled at (57799): [] __up_console_sem+0x4d/0x60
> > +# hardirqs last disabled at (57804): [] __up_console_sem+0x32/0x60
> > +# softirqs last enabled at (45586): [] handle_softirqs+0x310/0x3f0
> > +# softirqs last disabled at (45569): [] __irq_exit_rcu+0xa1/0xc0
> > +# ---[ end trace 0000000000000000 ]---
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 0 UID: 0 PID: 119 Comm: kworker/u8:6 Tainted: G W 6.13.0-rc2-ge95c88d68ac3 #1
> > +# Tainted: [W]=WARN
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffff9fb640efbd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff8e7241926000 RSI: ffff8e7241927ffc RDI: 000000000b7fb767
> > +# RBP: ffff9fb640efbde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff8e7241b09a80 R11: 0000000000000000 R12: ffff8e7241cd6200
> > +# R13: 0000000000000013 R14: 0000000000000000 R15: ffff8e7241b09a80
> > +# FS: 0000000000000000(0000) GS:ffff8e726bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000118d1e000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? srso_return_thunk+0x5/0x5f
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1a3/0x760 [vkms]
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x320
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 000000000000001c
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffff9fb640efbd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff8e7241926000 RSI: ffff8e7241927ffc RDI: 000000000b7fb767
> > +# RBP: ffff9fb640efbde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff8e7241b09a80 R11: 0000000000000000 R12: ffff8e7241cd6200
> > +# R13: 0000000000000013 R14: 0000000000000000 R15: ffff8e7241b09a80
> > +# FS: 0000000000000000(0000) GS:ffff8e726bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000118d1e000 CR4: 0000000000350ef0
> > +
> > +# DEBUG - Begin test kms_cursor_crc@...sor-rapid-movement-128x42
> > +# ------------[ cut here ]------------
> > +# WARNING: CPU: 0 PID: 2933 at drivers/gpu/drm/vkms/vkms_crtc.c:139 vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Modules linked in: vkms
> > +# CPU: 0 UID: 0 PID: 2933 Comm: kms_cursor_crc Not tainted 6.13.0-rc2-g5219242748c8 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# RIP: 0010:vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Code: f7 48 89 f3 e8 d0 bf 6e d0 48 8b 83 50 01 00 00 a8 01 75 15 48 8b bb a0 01 00 00 e8 59 05 15 d0 48 89 df 5b e9 50 05 15 d0 90 0b 90 eb e5 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90
> > +# RSP: 0018:ffffa14cc08b3b08 EFLAGS: 00010202
> > +# RAX: ffff9b864084b605 RBX: ffff9b8641ba4600 RCX: ffffffff91c96b65
> > +# RDX: ffffffff90ad1f80 RSI: 0000000000000000 RDI: 0000000000000000
> > +# RBP: 0000000000000000 R08: 0000000000000034 R09: 0000000000000002
> > +# R10: 0000000047dd15a5 R11: 00000000547dd15a R12: ffff9b864099c000
> > +# R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
> > +# FS: 00007f4f437ab6c0(0000) GS:ffff9b866bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 00007f4f44c3cd40 CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __warn+0x8c/0x190
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? report_bug+0x164/0x190
> > +# ? handle_bug+0x54/0x90
> > +# ? exc_invalid_op+0x17/0x70
> > +# ? asm_exc_invalid_op+0x1a/0x20
> > +# ? __pfx_drm_property_free_blob+0x10/0x10
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? vkms_atomic_crtc_destroy_state+0x10/0x40 [vkms]
> > +# drm_atomic_state_default_clear+0x137/0x2f0
> > +# __drm_atomic_state_free+0x6c/0xb0
> > +# drm_atomic_helper_update_plane+0x100/0x150
> > +# drm_mode_cursor_universal+0x10e/0x270
> > +# drm_mode_cursor_common+0x115/0x240
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# drm_mode_cursor_ioctl+0x4a/0x70
> > +# drm_ioctl_kernel+0xb0/0x110
> > +# drm_ioctl+0x235/0x4b0
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# __x64_sys_ioctl+0x92/0xc0
> > +# do_syscall_64+0xbb/0x1d0
> > +# entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > +# RIP: 0033:0x7f4f44960c5b
> > +# Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
> > +# RSP: 002b:00007ffcdfb0b560 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > +# RAX: ffffffffffffffda RBX: 0000000000000060 RCX: 00007f4f44960c5b
> > +# RDX: 00007ffcdfb0b5f0 RSI: 00000000c01c64a3 RDI: 0000000000000005
> > +# RBP: 00007ffcdfb0b5f0 R08: 0000000000000007 R09: 000055c3a5801a30
> > +# R10: 3107764f00e1f281 R11: 0000000000000246 R12: 00000000c01c64a3
> > +# R13: 0000000000000005 R14: 000055c38b7e42c8 R15: 000055c3a579aab0
> > +#
> > +# irq event stamp: 58747
> > +# hardirqs last enabled at (58753): [] __up_console_sem+0x4d/0x60
> > +# hardirqs last disabled at (58758): [] __up_console_sem+0x32/0x60
> > +# softirqs last enabled at (47324): [] handle_softirqs+0x310/0x3f0
> > +# softirqs last disabled at (47307): [] __irq_exit_rcu+0xa1/0xc0
> > +# ---[ end trace 0000000000000000 ]---
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 UID: 0 PID: 11 Comm: kworker/u8:0 Tainted: G W 6.13.0-rc2-g5219242748c8 #1
> > +# Tainted: [W]=WARN
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? __kvmalloc_node_noprof+0x3e/0xc0
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1a3/0x760 [vkms]
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x320
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 000000000000001c
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +
> > +# DEBUG - Begin test kms_cursor_crc@...sor-rapid-movement-32x32
> > +# ------------[ cut here ]------------
> > +# WARNING: CPU: 0 PID: 2933 at drivers/gpu/drm/vkms/vkms_crtc.c:139 vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Modules linked in: vkms
> > +# CPU: 0 UID: 0 PID: 2933 Comm: kms_cursor_crc Not tainted 6.13.0-rc2-g5219242748c8 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# RIP: 0010:vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Code: f7 48 89 f3 e8 d0 bf 6e d0 48 8b 83 50 01 00 00 a8 01 75 15 48 8b bb a0 01 00 00 e8 59 05 15 d0 48 89 df 5b e9 50 05 15 d0 90 0b 90 eb e5 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90
> > +# RSP: 0018:ffffa14cc08b3b08 EFLAGS: 00010202
> > +# RAX: ffff9b864084b605 RBX: ffff9b8641ba4600 RCX: ffffffff91c96b65
> > +# RDX: ffffffff90ad1f80 RSI: 0000000000000000 RDI: 0000000000000000
> > +# RBP: 0000000000000000 R08: 0000000000000034 R09: 0000000000000002
> > +# R10: 0000000047dd15a5 R11: 00000000547dd15a R12: ffff9b864099c000
> > +# R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
> > +# FS: 00007f4f437ab6c0(0000) GS:ffff9b866bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 00007f4f44c3cd40 CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __warn+0x8c/0x190
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? report_bug+0x164/0x190
> > +# ? handle_bug+0x54/0x90
> > +# ? exc_invalid_op+0x17/0x70
> > +# ? asm_exc_invalid_op+0x1a/0x20
> > +# ? __pfx_drm_property_free_blob+0x10/0x10
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? vkms_atomic_crtc_destroy_state+0x10/0x40 [vkms]
> > +# drm_atomic_state_default_clear+0x137/0x2f0
> > +# __drm_atomic_state_free+0x6c/0xb0
> > +# drm_atomic_helper_update_plane+0x100/0x150
> > +# drm_mode_cursor_universal+0x10e/0x270
> > +# drm_mode_cursor_common+0x115/0x240
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# drm_mode_cursor_ioctl+0x4a/0x70
> > +# drm_ioctl_kernel+0xb0/0x110
> > +# drm_ioctl+0x235/0x4b0
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# __x64_sys_ioctl+0x92/0xc0
> > +# do_syscall_64+0xbb/0x1d0
> > +# entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > +# RIP: 0033:0x7f4f44960c5b
> > +# Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
> > +# RSP: 002b:00007ffcdfb0b560 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > +# RAX: ffffffffffffffda RBX: 0000000000000060 RCX: 00007f4f44960c5b
> > +# RDX: 00007ffcdfb0b5f0 RSI: 00000000c01c64a3 RDI: 0000000000000005
> > +# RBP: 00007ffcdfb0b5f0 R08: 0000000000000007 R09: 000055c3a5801a30
> > +# R10: 3107764f00e1f281 R11: 0000000000000246 R12: 00000000c01c64a3
> > +# R13: 0000000000000005 R14: 000055c38b7e42c8 R15: 000055c3a579aab0
> > +#
> > +# irq event stamp: 58747
> > +# hardirqs last enabled at (58753): [] __up_console_sem+0x4d/0x60
> > +# hardirqs last disabled at (58758): [] __up_console_sem+0x32/0x60
> > +# softirqs last enabled at (47324): [] handle_softirqs+0x310/0x3f0
> > +# softirqs last disabled at (47307): [] __irq_exit_rcu+0xa1/0xc0
> > +# ---[ end trace 0000000000000000 ]---
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 UID: 0 PID: 11 Comm: kworker/u8:0 Tainted: G W 6.13.0-rc2-g5219242748c8 #1
> > +# Tainted: [W]=WARN
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? __kvmalloc_node_noprof+0x3e/0xc0
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1a3/0x760 [vkms]
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x320
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 000000000000001c
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +
> > +# DEBUG - Begin test kms_cursor_crc@...sor-rapid-movement-32x32
> > +# ------------[ cut here ]------------
> > +# WARNING: CPU: 0 PID: 2933 at drivers/gpu/drm/vkms/vkms_crtc.c:139 vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Modules linked in: vkms
> > +# CPU: 0 UID: 0 PID: 2933 Comm: kms_cursor_crc Not tainted 6.13.0-rc2-g5219242748c8 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# RIP: 0010:vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Code: f7 48 89 f3 e8 d0 bf 6e d0 48 8b 83 50 01 00 00 a8 01 75 15 48 8b bb a0 01 00 00 e8 59 05 15 d0 48 89 df 5b e9 50 05 15 d0 90 0b 90 eb e5 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90
> > +# RSP: 0018:ffffa14cc08b3b08 EFLAGS: 00010202
> > +# RAX: ffff9b864084b605 RBX: ffff9b8641ba4600 RCX: ffffffff91c96b65
> > +# RDX: ffffffff90ad1f80 RSI: 0000000000000000 RDI: 0000000000000000
> > +# RBP: 0000000000000000 R08: 0000000000000034 R09: 0000000000000002
> > +# R10: 0000000047dd15a5 R11: 00000000547dd15a R12: ffff9b864099c000
> > +# R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
> > +# FS: 00007f4f437ab6c0(0000) GS:ffff9b866bc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 00007f4f44c3cd40 CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __warn+0x8c/0x190
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? report_bug+0x164/0x190
> > +# ? handle_bug+0x54/0x90
> > +# ? exc_invalid_op+0x17/0x70
> > +# ? asm_exc_invalid_op+0x1a/0x20
> > +# ? __pfx_drm_property_free_blob+0x10/0x10
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? vkms_atomic_crtc_destroy_state+0x10/0x40 [vkms]
> > +# drm_atomic_state_default_clear+0x137/0x2f0
> > +# __drm_atomic_state_free+0x6c/0xb0
> > +# drm_atomic_helper_update_plane+0x100/0x150
> > +# drm_mode_cursor_universal+0x10e/0x270
> > +# drm_mode_cursor_common+0x115/0x240
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# drm_mode_cursor_ioctl+0x4a/0x70
> > +# drm_ioctl_kernel+0xb0/0x110
> > +# drm_ioctl+0x235/0x4b0
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# __x64_sys_ioctl+0x92/0xc0
> > +# do_syscall_64+0xbb/0x1d0
> > +# entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > +# RIP: 0033:0x7f4f44960c5b
> > +# Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
> > +# RSP: 002b:00007ffcdfb0b560 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > +# RAX: ffffffffffffffda RBX: 0000000000000060 RCX: 00007f4f44960c5b
> > +# RDX: 00007ffcdfb0b5f0 RSI: 00000000c01c64a3 RDI: 0000000000000005
> > +# RBP: 00007ffcdfb0b5f0 R08: 0000000000000007 R09: 000055c3a5801a30
> > +# R10: 3107764f00e1f281 R11: 0000000000000246 R12: 00000000c01c64a3
> > +# R13: 0000000000000005 R14: 000055c38b7e42c8 R15: 000055c3a579aab0
> > +#
> > +# irq event stamp: 58747
> > +# hardirqs last enabled at (58753): [] __up_console_sem+0x4d/0x60
> > +# hardirqs last disabled at (58758): [] __up_console_sem+0x32/0x60
> > +# softirqs last enabled at (47324): [] handle_softirqs+0x310/0x3f0
> > +# softirqs last disabled at (47307): [] __irq_exit_rcu+0xa1/0xc0
> > +# ---[ end trace 0000000000000000 ]---
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 UID: 0 PID: 11 Comm: kworker/u8:0 Tainted: G W 6.13.0-rc2-g5219242748c8 #1
> > +# Tainted: [W]=WARN
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? __kvmalloc_node_noprof+0x3e/0xc0
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1a3/0x760 [vkms]
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x320
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 000000000000001c
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa14cc005fd20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff9b8669626000 RSI: ffff9b8669627ffc RDI: 00000000348d6c39
> > +# RBP: ffffa14cc005fde0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff9b8645650eb0 R11: 0000000000000000 R12: ffff9b8641ba5800
> > +# R13: 0000000000000028 R14: 0000000000000000 R15: ffff9b8645650eb0
> > +# FS: 0000000000000000(0000) GS:ffff9b866bd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000108c14000 CR4: 0000000000350ef0
> > +
> > +# DEBUG - Begin test kms_cursor_crc@...sor-rapid-movement-128x128
> > +# ------------[ cut here ]------------
> > +# WARNING: CPU: 0 PID: 2898 at drivers/gpu/drm/vkms/vkms_crtc.c:139 vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Modules linked in: vkms
> > +# CPU: 0 UID: 0 PID: 2898 Comm: kms_cursor_crc Not tainted 6.13.0-rc2-g1f006005ebf8 #1
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# RIP: 0010:vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# Code: f7 48 89 f3 e8 d0 bf 6e e1 48 8b 83 50 01 00 00 a8 01 75 15 48 8b bb a0 01 00 00 e8 59 05 15 e1 48 89 df 5b e9 50 05 15 e1 90 0b 90 eb e5 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90
> > +# RSP: 0018:ffffa35c4082fb08 EFLAGS: 00010202
> > +# RAX: ffff8b02c1c0f005 RBX: ffff8b02d4509600 RCX: ffffffffa2c96b65
> > +# RDX: ffffffffa1ad1f80 RSI: 0000000000000000 RDI: 0000000000000000
> > +# RBP: 0000000000000000 R08: 0000000000000034 R09: 0000000000000002
> > +# R10: 0000000030f11ddf R11: 00000000f30f11dd R12: ffff8b02d2528000
> > +# R13: 0000000000000000 R14: 00000000ffffffff R15: 0000000000000000
> > +# FS: 00007f4b071ab6c0(0000) GS:ffff8b02efc00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000055f7f8384b48 CR3: 0000000104ef0000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __warn+0x8c/0x190
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? report_bug+0x164/0x190
> > +# ? handle_bug+0x54/0x90
> > +# ? exc_invalid_op+0x17/0x70
> > +# ? asm_exc_invalid_op+0x1a/0x20
> > +# ? __pfx_drm_property_free_blob+0x10/0x10
> > +# ? vkms_atomic_crtc_destroy_state+0x31/0x40 [vkms]
> > +# ? vkms_atomic_crtc_destroy_state+0x10/0x40 [vkms]
> > +# drm_atomic_state_default_clear+0x137/0x2f0
> > +# __drm_atomic_state_free+0x6c/0xb0
> > +# drm_atomic_helper_update_plane+0x100/0x150
> > +# drm_mode_cursor_universal+0x10e/0x270
> > +# drm_mode_cursor_common+0x115/0x240
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# drm_mode_cursor_ioctl+0x4a/0x70
> > +# drm_ioctl_kernel+0xb0/0x110
> > +# drm_ioctl+0x235/0x4b0
> > +# ? __pfx_drm_mode_cursor_ioctl+0x10/0x10
> > +# __x64_sys_ioctl+0x92/0xc0
> > +# do_syscall_64+0xbb/0x1d0
> > +# entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > +# RIP: 0033:0x7f4b0815ac5b
> > +# Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
> > +# RSP: 002b:00007ffd726f75e0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> > +# RAX: ffffffffffffffda RBX: 000000000000005d RCX: 00007f4b0815ac5b
> > +# RDX: 00007ffd726f7670 RSI: 00000000c01c64a3 RDI: 0000000000000005
> > +# RBP: 00007ffd726f7670 R08: 0000000000000007 R09: 000055f7f83e30c0
> > +# R10: 2b16893c03bd381a R11: 0000000000000246 R12: 00000000c01c64a3
> > +# R13: 0000000000000005 R14: 000055f7dbee72c8 R15: 000055f7f837bab0
> > +#
> > +# irq event stamp: 58921
> > +# hardirqs last enabled at (58927): [] __up_console_sem+0x4d/0x60
> > +# hardirqs last disabled at (58932): [] __up_console_sem+0x32/0x60
> > +# softirqs last enabled at (46140): [] handle_softirqs+0x310/0x3f0
> > +# softirqs last disabled at (46135): [] __irq_exit_rcu+0xa1/0xc0
> > +# ---[ end trace 0000000000000000 ]---
> > +# Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
> > +# CPU: 1 UID: 0 PID: 1657 Comm: kworker/u8:14 Tainted: G W 6.13.0-rc2-g1f006005ebf8 #1
> > +# Tainted: [W]=WARN
> > +# Hardware name: ChromiumOS crosvm, BIOS 0
> > +# Workqueue: vkms_composer vkms_composer_worker [vkms]
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa35c40c43d20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff8b02c52c8000 RSI: ffff8b02c52c9ffc RDI: 00000000fa4761c9
> > +# RBP: ffffa35c40c43de0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff8b02c1c87840 R11: 0000000000000000 R12: ffff8b02d4508800
> > +# R13: 0000000000000021 R14: 0000000000000000 R15: ffff8b02c1c87840
> > +# FS: 0000000000000000(0000) GS:ffff8b02efd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +# CR2: 000000000000001c CR3: 0000000104ef0000 CR4: 0000000000350ef0
> > +# Call Trace:
> > +#
> > +# ? __die+0x1e/0x60
> > +# ? page_fault_oops+0x17b/0x4a0
> > +# ? srso_return_thunk+0x5/0x5f
> > +# ? exc_page_fault+0x6d/0x230
> > +# ? asm_exc_page_fault+0x26/0x30
> > +# ? compose_active_planes+0x1a3/0x760 [vkms]
> > +# vkms_composer_worker+0x205/0x240 [vkms]
> > +# process_one_work+0x201/0x6c0
> > +# ? lock_is_held_type+0x9e/0x110
> > +# worker_thread+0x17e/0x320
> > +# ? __pfx_worker_thread+0x10/0x10
> > +# kthread+0xce/0x100
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork+0x2f/0x50
> > +# ? __pfx_kthread+0x10/0x10
> > +# ret_from_fork_asm+0x1a/0x30
> > +#
> > +# Modules linked in: vkms
> > +# CR2: 000000000000001c
> > +# ---[ end trace 0000000000000000 ]---
> > +# RIP: 0010:compose_active_planes+0x1a3/0x760 [vkms]
> > +# Code: db 4d 89 fa 85 c9 0f 84 32 03 00 00 4d 8b 24 da 48 c7 44 24 60 00 00 00 00 48 c7 44 24 68 00 00 00 00 49 8b 84 24 48 01 00 00 50 1c 44 39 ea 0f 8f f3 02 00 00 44 39 68 24 0f 8e e9 02 00 00
> > +# RSP: 0018:ffffa35c40c43d20 EFLAGS: 00010202
> > +# RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000002
> > +# RDX: ffff8b02c52c8000 RSI: ffff8b02c52c9ffc RDI: 00000000fa4761c9
> > +# RBP: ffffa35c40c43de0 R08: 0000000000000000 R09: 0000000000000000
> > +# R10: ffff8b02c1c87840 R11: 0000000000000000 R12: ffff8b02d4508800
> > +# R13: 0000000000000021 R14: 0000000000000000 R15: ffff8b02c1c87840
> > +# FS: 0000000000000000(0000) GS:ffff8b02efd00000(0000) knlGS:0000000000000000
> > +# CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > +
> > +# Skip driver specific tests
> > +^amdgpu.*
> > +^msm.*
> > +nouveau_.*
> > +^panfrost.*
> > +^v3d.*
> > +^vc4.*
> > +^vmwgfx*
> > +
> > +# Skip intel specific tests
> > +gem_.*
> > +i915_.*
> > +xe_.*
> > +tools_test.*
> > +
> > +# IGT issue. is_joiner_mode() should return false for non-Intel hardware.
> > +# https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/162
> > +kms_display_modes@...ended-mode-basic
> > +kms_display_modes@...-extended-mode-negative
> > --
> > 2.43.0
> >
>
> --
> Simona Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
>
Powered by blists - more mailing lists