Skip to content

[PW_SID:1098129] KVM: riscv: Fix hugetlb G-stage block mapping eligibility#1984

Open
linux-riscv-bot wants to merge 4 commits into
workflowfrom
pw1098129
Open

[PW_SID:1098129] KVM: riscv: Fix hugetlb G-stage block mapping eligibility#1984
linux-riscv-bot wants to merge 4 commits into
workflowfrom
pw1098129

Conversation

@linux-riscv-bot
Copy link
Copy Markdown

PR for series 1098129 applied to workflow

Name: KVM: riscv: Fix hugetlb G-stage block mapping eligibility
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1098129
Version: 1

Linux RISC-V bot and others added 4 commits May 20, 2026 16:28
fault_supports_gstage_huge_mapping() already contains the two checks
needed before installing a G-stage block mapping: the userspace address
and GPA must have matching offsets within the block, and the whole block
must be contained within the memslot.

The helper currently hard-codes PMD_SIZE because its only caller is the
transparent hugepage path. The hugetlb path needs the same checks, but
the target block size can be either PMD_SIZE or PUD_SIZE depending on the
hugetlb VMA.

So pass the target mapping size into the helper and use it for the
alignment and bounds checks. This keeps the existing THP PMD behavior
unchanged and prepares the helper to be reused for the following hugetlb
fix.

Signed-off-by: Jinyu Tang <tjytimi@163.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
RISC-V KVM has used the hugetlb VMA size directly as the G-stage
mapping size since stage-2 page table support was added. That is safe
only if the block covered by the fault is fully contained in the
memslot and the userspace address has the same offset as the GPA
within that block.

The THP path already checks those constraints before installing a PMD
block mapping. The hugetlb path did not, so an unaligned memslot could
make KVM install a PMD or PUD sized G-stage block that covers memory
outside the slot or maps the wrong host pages.

Select hugetlb mapping sizes through the same memslot-boundary check,
falling back from PUD to PMD to PAGE_SIZE. When a smaller hugetlb
mapping size is selected, fault the GFN aligned to that selected size
instead of the original VMA size.

Also keep hugetlb mappings out of transparent_hugepage_adjust(). Once
the hugetlb path has chosen PAGE_SIZE, promoting it again through the
THP helper would miss the hugetlb fallback decision.

Fixes: 9d05c1f ("RISC-V: KVM: Implement stage2 page table programming")
Signed-off-by: Jinyu Tang <tjytimi@163.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
kvm_page_table_test can already exercise hugetlb-backed guest memory,
but it always creates the test memslot with GPA alignment matching the
hugetlb backing size. That misses the case where a valid hugetlb
memslot is later moved so that the memslot GPA and HVA no longer have
the same offset within the backing huge page.

Add a -u option that moves the test memslot GPA by one guest page after
creating the hugetlb memslot. The memslot is created through the normal
helper first, so the backing allocation remains valid and hugetlb aligned.
Moving the memslot then creates a deliberate HVA/GPA offset mismatch
before the guest mapping is installed.

This mode is useful for checking that architecture MMUs do not install
a block mapping when the block would map the wrong host pages or cover
memory outside the memslot. The option is restricted to hugetlb-backed
test memory because it's specifically about hugetlb block
mapping eligibility.

Signed-off-by: Jinyu Tang <tjytimi@163.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 137.60 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1039.00 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1429.58 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 26.14 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.12 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.79 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 86.20 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
kdoc
Desc: Detects for kdoc errors
Duration: 2.64 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
module-param
Desc: Detect module_param changes
Duration: 0.51 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 1: "[1/3] KVM: riscv: Pass the target size to huge G-stage checks"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 122.09 seconds
Result: ERROR
Output:

Full log:
W: Support for running offline not available (unshare: unshare failed: Operation not permitted)
I: config: PASS in 0:00:32.454154
I: default: FAIL in 0:01:22.825392
I: kernel: SKIP in 0:00:00.000009
I: xipkernel: SKIP in 0:00:00.000005
I: modules: FAIL in 0:00:00.069081
I: dtbs: PASS in 0:00:01.882096
I: dtbs-legacy: SKIP in 0:00:00.004002
I: debugkernel: SKIP in 0:00:00.000002
I: headers: PASS in 0:00:00.990904
I: build output in /build/tmp.4R4GD3cI9y
tuxmake --download-all-korg-gcc-toolchains --target-arch=riscv --kconfig=rv32_defconfig --toolchain=llvm --wrapper=ccache --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake --environment=KCFLAGS=-ffile-prefix-map=/build/tmp.4R4GD3cI9y/build/= --runtime=null --image=docker.io/tuxmake/riscv_clang CROSS_COMPILE=riscv64-linux- config default kernel xipkernel modules dtbs dtbs-legacy debugkernel headers
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' rv32_defconfig
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang'
/build/tmpt1kbm246/arch/riscv/kvm/mmu.c:435:7: error: duplicate case value '4194304'
  435 |         case PMD_SIZE:
      |              ^
/build/tmpt1kbm246/include/asm-generic/pgtable-nopmd.h:22:20: note: expanded from macro 'PMD_SIZE'
   22 | #define PMD_SIZE        (1UL << PMD_SHIFT)
      |                         ^
/build/tmpt1kbm246/arch/riscv/kvm/mmu.c:431:7: note: previous case defined here
  431 |         case PUD_SIZE:
      |              ^
/build/tmpt1kbm246/include/asm-generic/pgtable-nopud.h:20:20: note: expanded from macro 'PUD_SIZE'
   20 | #define PUD_SIZE        (1UL << PUD_SHIFT)
      |                         ^
1 error generated.
make[5]: *** [/build/tmpt1kbm246/scripts/Makefile.build:289: arch/riscv/kvm/mmu.o] Error 1
make[5]: Target 'arch/riscv/kvm/' not remade because of errors.
make[4]: *** [/build/tmpt1kbm246/scripts/Makefile.build:548: arch/riscv/kvm] Error 2
make[4]: Target 'arch/riscv/' not remade because of errors.
make[3]: *** [/build/tmpt1kbm246/scripts/Makefile.build:548: arch/riscv] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/tmpt1kbm246/Makefile:2143: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/tmpt1kbm246/Makefile:248: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target '__all' not remade because of errors.
rm -rf /build/tmp.4R4GD3cI9y/build/modinstall
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=/build/tmp.4R4GD3cI9y/build/modinstall ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' modules_install
make[3]: *** No rule to make target 'modules.order', needed by '/build/tmp.4R4GD3cI9y/build/modinstall/lib/modules/7.1.0-rc4-00100-g168517856e1a/modules.order'.
make[3]: *** No rule to make target 'modules.builtin', needed by '/build/tmp.4R4GD3cI9y/build/modinstall/lib/modules/7.1.0-rc4-00100-g168517856e1a/modules.builtin'.
make[3]: *** No rule to make target 'modules.builtin.modinfo', needed by '/build/tmp.4R4GD3cI9y/build/modinstall/lib/modules/7.1.0-rc4-00100-g168517856e1a/modules.builtin.modinfo'.
make[3]: Target '__modinst' not remade because of errors.
make[2]: *** [/build/tmpt1kbm246/Makefile:2049: modules_install] Error 2
make[1]: *** [/build/tmpt1kbm246/Makefile:248: __sub-make] Error 2
make[1]: Target 'modules_install' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'modules_install' not remade because of errors.
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build INSTALL_DTBS_PATH=/build/tmp.4R4GD3cI9y/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs
rm -rf /build/tmp.4R4GD3cI9y/build/dtbsinstall
mkdir -p /build/tmp.4R4GD3cI9y/build/dtbsinstall/dtbs
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build INSTALL_DTBS_PATH=/build/tmp.4R4GD3cI9y/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1779294539 --clamp-mtime -caf /build/tmp.4R4GD3cI9y/build/dtbs.tar -C /build/tmp.4R4GD3cI9y/build/dtbsinstall dtbs
rm -rf /build/tmp.4R4GD3cI9y/build/install_hdr
make --silent --keep-going --jobs=48 O=/build/tmp.4R4GD3cI9y/build INSTALL_HDR_PATH=/build/tmp.4R4GD3cI9y/build/install_hdr/ ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' headers_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1779294539 --clamp-mtime -caf /build/tmp.4R4GD3cI9y/build/headers.tar -C /build/tmp.4R4GD3cI9y/build/install_hdr .
warnings/errors:
/build/tmpt1kbm246/arch/riscv/kvm/mmu.c:435:7: error: duplicate case value '4194304'


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1041.32 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1423.51 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.38 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.63 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.79 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 87.29 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
kdoc
Desc: Detects for kdoc errors
Duration: 0.85 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.28 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 2: "[2/3] KVM: riscv: Check hugetlb block mappings against memslot bounds"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 121.44 seconds
Result: ERROR
Output:

Full log:
W: Support for running offline not available (unshare: unshare failed: Operation not permitted)
I: config: PASS in 0:00:32.132094
I: default: FAIL in 0:01:22.876207
I: kernel: SKIP in 0:00:00.000005
I: xipkernel: SKIP in 0:00:00.000002
I: modules: FAIL in 0:00:00.079730
I: dtbs: PASS in 0:00:01.349450
I: dtbs-legacy: SKIP in 0:00:00.004057
I: debugkernel: SKIP in 0:00:00.000002
I: headers: PASS in 0:00:01.063201
I: build output in /build/tmp.pPdUGZtMV7
tuxmake --download-all-korg-gcc-toolchains --target-arch=riscv --kconfig=rv32_defconfig --toolchain=llvm --wrapper=ccache --environment=KBUILD_BUILD_TIMESTAMP=@1621270510 --environment=KBUILD_BUILD_USER=tuxmake --environment=KBUILD_BUILD_HOST=tuxmake --environment=KCFLAGS=-ffile-prefix-map=/build/tmp.pPdUGZtMV7/build/= --runtime=null --image=docker.io/tuxmake/riscv_clang CROSS_COMPILE=riscv64-linux- config default kernel xipkernel modules dtbs dtbs-legacy debugkernel headers
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' rv32_defconfig
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang'
/build/tmp8mkl3jl5/arch/riscv/kvm/mmu.c:435:7: error: duplicate case value '4194304'
  435 |         case PMD_SIZE:
      |              ^
/build/tmp8mkl3jl5/include/asm-generic/pgtable-nopmd.h:22:20: note: expanded from macro 'PMD_SIZE'
   22 | #define PMD_SIZE        (1UL << PMD_SHIFT)
      |                         ^
/build/tmp8mkl3jl5/arch/riscv/kvm/mmu.c:431:7: note: previous case defined here
  431 |         case PUD_SIZE:
      |              ^
/build/tmp8mkl3jl5/include/asm-generic/pgtable-nopud.h:20:20: note: expanded from macro 'PUD_SIZE'
   20 | #define PUD_SIZE        (1UL << PUD_SHIFT)
      |                         ^
1 error generated.
make[5]: *** [/build/tmp8mkl3jl5/scripts/Makefile.build:289: arch/riscv/kvm/mmu.o] Error 1
make[5]: Target 'arch/riscv/kvm/' not remade because of errors.
make[4]: *** [/build/tmp8mkl3jl5/scripts/Makefile.build:548: arch/riscv/kvm] Error 2
make[4]: Target 'arch/riscv/' not remade because of errors.
make[3]: *** [/build/tmp8mkl3jl5/scripts/Makefile.build:548: arch/riscv] Error 2
make[3]: Target './' not remade because of errors.
make[2]: *** [/build/tmp8mkl3jl5/Makefile:2143: .] Error 2
make[2]: Target '__all' not remade because of errors.
make[1]: *** [/build/tmp8mkl3jl5/Makefile:248: __sub-make] Error 2
make[1]: Target '__all' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target '__all' not remade because of errors.
rm -rf /build/tmp.pPdUGZtMV7/build/modinstall
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=/build/tmp.pPdUGZtMV7/build/modinstall ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' modules_install
make[3]: *** No rule to make target 'modules.order', needed by '/build/tmp.pPdUGZtMV7/build/modinstall/lib/modules/7.1.0-rc4-00101-g01ea54218a9a/modules.order'.
make[3]: *** No rule to make target 'modules.builtin', needed by '/build/tmp.pPdUGZtMV7/build/modinstall/lib/modules/7.1.0-rc4-00101-g01ea54218a9a/modules.builtin'.
make[3]: *** No rule to make target 'modules.builtin.modinfo', needed by '/build/tmp.pPdUGZtMV7/build/modinstall/lib/modules/7.1.0-rc4-00101-g01ea54218a9a/modules.builtin.modinfo'.
make[3]: Target '__modinst' not remade because of errors.
make[2]: *** [/build/tmp8mkl3jl5/Makefile:2049: modules_install] Error 2
make[1]: *** [/build/tmp8mkl3jl5/Makefile:248: __sub-make] Error 2
make[1]: Target 'modules_install' not remade because of errors.
make: *** [Makefile:248: __sub-make] Error 2
make: Target 'modules_install' not remade because of errors.
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build INSTALL_DTBS_PATH=/build/tmp.pPdUGZtMV7/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs
rm -rf /build/tmp.pPdUGZtMV7/build/dtbsinstall
mkdir -p /build/tmp.pPdUGZtMV7/build/dtbsinstall/dtbs
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build INSTALL_DTBS_PATH=/build/tmp.pPdUGZtMV7/build/dtbsinstall/dtbs ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' dtbs_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1779294539 --clamp-mtime -caf /build/tmp.pPdUGZtMV7/build/dtbs.tar -C /build/tmp.pPdUGZtMV7/build/dtbsinstall dtbs
rm -rf /build/tmp.pPdUGZtMV7/build/install_hdr
make --silent --keep-going --jobs=48 O=/build/tmp.pPdUGZtMV7/build INSTALL_HDR_PATH=/build/tmp.pPdUGZtMV7/build/install_hdr/ ARCH=riscv CROSS_COMPILE=riscv64-linux- LLVM=1 'CC=ccache clang' 'HOSTCC=ccache clang' headers_install
tar --sort=name --owner=tuxmake:1000 --group=tuxmake:1000 --mtime=@1779294539 --clamp-mtime -caf /build/tmp.pPdUGZtMV7/build/headers.tar -C /build/tmp.pPdUGZtMV7/build/install_hdr .
warnings/errors:
/build/tmp8mkl3jl5/arch/riscv/kvm/mmu.c:435:7: error: duplicate case value '4194304'


@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1016.64 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1391.69 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.74 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.03 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.72 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 86.18 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
kdoc
Desc: Detects for kdoc errors
Duration: 0.88 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
module-param
Desc: Detect module_param changes
Duration: 0.27 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Copy Markdown
Author

Patch 3: "[3/3] KVM: selftests: Add a hugetlb memslot alignment test mode"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot force-pushed the workflow branch 12 times, most recently from 248facd to 1b98b85 Compare May 27, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants