Re: [PATCH v2 3/5] kci-gitlab: Add drm scenario

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx> 
 > > --- 
 > >  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@xxxxxxxxxxxxx> 
 > > +# 
 > > +# 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@xxxxxxxxxxxxx> 
 > > +# 
 > > +# 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@$subtest" 
 > > +                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@xxxxxxxxxxxxx> 
 > > +# 
 > > +# 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@xxxxxxxxxxxxx> 
 > > +# 
 > > +# 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@xxxxxxxxxxxxx> 
 > > +# 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@xxxxxxxxxxxxx> 
 > > + 
 > > +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@xxxxxxxxxxxxx> 
 > > +# 
 > > +# 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@xxxxxxxxxxxxx> 
 > > + 
 > > +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@cursor-rapid-movement-256x85,Fail 
 > > +kms_cursor_crc@cursor-rapid-movement-32x10,Fail 
 > > +kms_cursor_crc@cursor-rapid-movement-64x64,Fail 
 > > +kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail 
 > > +kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail 
 > > +kms_cursor_legacy@cursor-vs-flip-atomic,Fail 
 > > +kms_cursor_legacy@cursor-vs-flip-legacy,Fail 
 > > +kms_cursor_legacy@cursor-vs-flip-toggle,Fail 
 > > +kms_cursor_legacy@cursor-vs-flip-varying-size,Fail 
 > > +kms_cursor_legacy@flip-vs-cursor-atomic,Fail 
 > > +kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail 
 > > +kms_cursor_legacy@flip-vs-cursor-crc-legacy,Fail 
 > > +kms_cursor_legacy@flip-vs-cursor-legacy,Fail 
 > > +kms_flip@flip-vs-modeset-vs-hang,Fail 
 > > +kms_flip@flip-vs-panning-vs-hang,Fail 
 > > +kms_writeback@writeback-check-output,Fail 
 > > +kms_writeback@writeback-check-output-XRGB2101010,Fail 
 > > +kms_writeback@writeback-fb-id,Fail 
 > > +kms_writeback@writeback-fb-id-XRGB2101010,Fail 
 > > +kms_writeback@writeback-invalid-parameters,Fail 
 > > +kms_writeback@writeback-pixel-formats,Fail 
 > > +perf@i915-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@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@basic-flip-vs-wf_vblank 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@flip-vs-expired-vblank-interruptible 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@flip-vs-wf_vblank-interruptible 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@plain-flip-fb-recreate-interruptible 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@plain-flip-ts-check 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@plain-flip-ts-check-interruptible 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@flip-vs-absolute-wf_vblank 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@flip-vs-absolute-wf_vblank-interruptible 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-g0df7b9b97 
 > > +# Linux Version: 6.9.0-rc7 
 > > +kms_flip@flip-vs-blocking-wf-vblank 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-gf13702b8e 
 > > +# Linux Version: 6.10.0-rc5 
 > > +kms_cursor_legacy@flip-vs-cursor-varying-size 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-gf13702b8e 
 > > +# Linux Version: 6.10.0-rc5 
 > > +kms_flip@flip-vs-expired-vblank 
 > > + 
 > > +# Board Name: vkms 
 > > +# Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@xxxxxxxxxxxxx/T/#u 
 > > +# Failure Rate: 50 
 > > +# IGT Version: 1.28-gf13702b8e 
 > > +# Linux Version: 6.10.0-rc5 
 > > +kms_pipe_crc_basic@nonblocking-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@int-max-clock 
 > > + 
 > > +# kernel panic seen with kms_cursor_crc tests 
 > > +kms_cursor_crc.* 
 > > +# kms_cursor_crc@cursor-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@cursor-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@cursor-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@128x128-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@128x128-left-edge 
 > > +# DEBUG - Begin test kms_cursor_edge_walk@128x128-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@cursor-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@cursor-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@cursor-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@cursor-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@cursor-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@extended-mode-basic 
 > > +kms_display_modes@mst-extended-mode-negative 
 > > -- 
 > > 2.43.0 
 > > 
 >  
 > -- 
 > Simona Vetter 
 > Software Engineer, Intel Corporation 
 > http://blog.ffwll.ch 
 > 





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux