Performing verification for noble I built a kernel based off of Ubuntu-6.8.0-72.72 git tag, with a config change that sets CONFIG_TEST_HMM=m for all arches.
I installed this kernel to a VM, and rebooted. In the kernel git tree, I ran: $ cd tools/testing/selftests/mm/ $ make $ scp *hmm* ubuntu@vm:~/ This built the hmm testsuite and copied it to the VM. Running the testsuite: $ uname -rv 6.8.0-72-generic #72+TEST416039v20250812b4-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 12 $ sudo ./test_hmm.sh Usage: ./test_hmm.sh Example usage: # Shows help message ./test_hmm.sh # Smoke testing ./test_hmm.sh smoke # Smoke testing with SPM enabled ./test_hmm.sh smoke <spm_addr_dev0> <spm_addr_dev1> ubuntu@noble-kernel:~$ sudo ./test_hmm.sh smoke Running smoke test. Note, this test provides basic coverage. TAP version 13 1..56 # Starting 56 tests from 4 test cases. # RUN hmm.hmm_device_private.open_close ... # OK hmm.hmm_device_private.open_close ok 1 hmm.hmm_device_private.open_close # RUN hmm.hmm_device_private.anon_read ... # OK hmm.hmm_device_private.anon_read ok 2 hmm.hmm_device_private.anon_read # RUN hmm.hmm_device_private.anon_read_prot ... # OK hmm.hmm_device_private.anon_read_prot ok 3 hmm.hmm_device_private.anon_read_prot # RUN hmm.hmm_device_private.anon_write ... # OK hmm.hmm_device_private.anon_write ok 4 hmm.hmm_device_private.anon_write # RUN hmm.hmm_device_private.anon_write_prot ... # OK hmm.hmm_device_private.anon_write_prot ok 5 hmm.hmm_device_private.anon_write_prot # RUN hmm.hmm_device_private.anon_write_child ... # OK hmm.hmm_device_private.anon_write_child ok 6 hmm.hmm_device_private.anon_write_child # RUN hmm.hmm_device_private.anon_write_child_shared ... # OK hmm.hmm_device_private.anon_write_child_shared ok 7 hmm.hmm_device_private.anon_write_child_shared # RUN hmm.hmm_device_private.anon_write_huge ... # OK hmm.hmm_device_private.anon_write_huge ok 8 hmm.hmm_device_private.anon_write_huge # RUN hmm.hmm_device_private.anon_write_hugetlbfs ... # SKIP Huge page could not be allocated # OK hmm.hmm_device_private.anon_write_hugetlbfs ok 9 # SKIP Huge page could not be allocated # RUN hmm.hmm_device_private.file_read ... # OK hmm.hmm_device_private.file_read ok 10 hmm.hmm_device_private.file_read # RUN hmm.hmm_device_private.file_write ... # OK hmm.hmm_device_private.file_write ok 11 hmm.hmm_device_private.file_write # RUN hmm.hmm_device_private.migrate ... The VM hangs. I can't ssh in, or check system logs or dmesg. I can reproduce. I force reset the VM. I then built a kernel based off of the Ubuntu-6.8.0-78.78 git tag, with the same patch to enable CONFIG_TEST_HMM=m for all arches. I rebooted, and ran the hmm testsuite: $ uname -rv 6.8.0-78-generic #78+TEST416039v20250815b1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 $ sudo ./test_hmm.sh Usage: ./test_hmm.sh Example usage: # Shows help message ./test_hmm.sh # Smoke testing ./test_hmm.sh smoke # Smoke testing with SPM enabled ./test_hmm.sh smoke <spm_addr_dev0> <spm_addr_dev1> ubuntu@noble-kernel:~$ sudo ./test_hmm.sh smoke Running smoke test. Note, this test provides basic coverage. TAP version 13 1..56 # Starting 56 tests from 4 test cases. # RUN hmm.hmm_device_private.open_close ... # OK hmm.hmm_device_private.open_close ok 1 hmm.hmm_device_private.open_close # RUN hmm.hmm_device_private.anon_read ... # OK hmm.hmm_device_private.anon_read ok 2 hmm.hmm_device_private.anon_read # RUN hmm.hmm_device_private.anon_read_prot ... # OK hmm.hmm_device_private.anon_read_prot ok 3 hmm.hmm_device_private.anon_read_prot # RUN hmm.hmm_device_private.anon_write ... # OK hmm.hmm_device_private.anon_write ok 4 hmm.hmm_device_private.anon_write # RUN hmm.hmm_device_private.anon_write_prot ... # OK hmm.hmm_device_private.anon_write_prot ok 5 hmm.hmm_device_private.anon_write_prot # RUN hmm.hmm_device_private.anon_write_child ... # OK hmm.hmm_device_private.anon_write_child ok 6 hmm.hmm_device_private.anon_write_child # RUN hmm.hmm_device_private.anon_write_child_shared ... # OK hmm.hmm_device_private.anon_write_child_shared ok 7 hmm.hmm_device_private.anon_write_child_shared # RUN hmm.hmm_device_private.anon_write_huge ... # OK hmm.hmm_device_private.anon_write_huge ok 8 hmm.hmm_device_private.anon_write_huge # RUN hmm.hmm_device_private.anon_write_hugetlbfs ... # SKIP Huge page could not be allocated # OK hmm.hmm_device_private.anon_write_hugetlbfs ok 9 # SKIP Huge page could not be allocated # RUN hmm.hmm_device_private.file_read ... # OK hmm.hmm_device_private.file_read ok 10 hmm.hmm_device_private.file_read # RUN hmm.hmm_device_private.file_write ... # OK hmm.hmm_device_private.file_write ok 11 hmm.hmm_device_private.file_write # RUN hmm.hmm_device_private.migrate ... # OK hmm.hmm_device_private.migrate ok 12 hmm.hmm_device_private.migrate # RUN hmm.hmm_device_private.migrate_fault ... # OK hmm.hmm_device_private.migrate_fault ok 13 hmm.hmm_device_private.migrate_fault # RUN hmm.hmm_device_private.migrate_release ... # OK hmm.hmm_device_private.migrate_release ok 14 hmm.hmm_device_private.migrate_release # RUN hmm.hmm_device_private.migrate_shared ... # OK hmm.hmm_device_private.migrate_shared ok 15 hmm.hmm_device_private.migrate_shared # RUN hmm.hmm_device_private.migrate_multiple ... # OK hmm.hmm_device_private.migrate_multiple ok 16 hmm.hmm_device_private.migrate_multiple # RUN hmm.hmm_device_private.anon_read_multiple ... # OK hmm.hmm_device_private.anon_read_multiple ok 17 hmm.hmm_device_private.anon_read_multiple # RUN hmm.hmm_device_private.anon_teardown ... # OK hmm.hmm_device_private.anon_teardown ok 18 hmm.hmm_device_private.anon_teardown # RUN hmm.hmm_device_private.mixedmap ... # OK hmm.hmm_device_private.mixedmap ok 19 hmm.hmm_device_private.mixedmap # RUN hmm.hmm_device_private.compound ... # OK hmm.hmm_device_private.compound ok 20 hmm.hmm_device_private.compound # RUN hmm.hmm_device_private.exclusive ... # OK hmm.hmm_device_private.exclusive ok 21 hmm.hmm_device_private.exclusive # RUN hmm.hmm_device_private.exclusive_mprotect ... # OK hmm.hmm_device_private.exclusive_mprotect ok 22 hmm.hmm_device_private.exclusive_mprotect # RUN hmm.hmm_device_private.exclusive_cow ... # OK hmm.hmm_device_private.exclusive_cow ok 23 hmm.hmm_device_private.exclusive_cow # RUN hmm.hmm_device_private.hmm_gup_test ... # SKIP Skipping test, could not find gup_test driver # OK hmm.hmm_device_private.hmm_gup_test ok 24 # SKIP Skipping test, could not find gup_test driver # RUN hmm.hmm_device_private.hmm_cow_in_device ... # OK hmm.hmm_device_private.hmm_cow_in_device ok 25 hmm.hmm_device_private.hmm_cow_in_device # RUN hmm.hmm_device_coherent.open_close ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.open_close ok 26 hmm.hmm_device_coherent.open_close # RUN hmm.hmm_device_coherent.anon_read ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_read ok 27 hmm.hmm_device_coherent.anon_read # RUN hmm.hmm_device_coherent.anon_read_prot ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_read_prot ok 28 hmm.hmm_device_coherent.anon_read_prot # RUN hmm.hmm_device_coherent.anon_write ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write ok 29 hmm.hmm_device_coherent.anon_write # RUN hmm.hmm_device_coherent.anon_write_prot ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write_prot ok 30 hmm.hmm_device_coherent.anon_write_prot # RUN hmm.hmm_device_coherent.anon_write_child ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write_child ok 31 hmm.hmm_device_coherent.anon_write_child # RUN hmm.hmm_device_coherent.anon_write_child_shared ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write_child_shared ok 32 hmm.hmm_device_coherent.anon_write_child_shared # RUN hmm.hmm_device_coherent.anon_write_huge ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write_huge ok 33 hmm.hmm_device_coherent.anon_write_huge # RUN hmm.hmm_device_coherent.anon_write_hugetlbfs ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_write_hugetlbfs ok 34 hmm.hmm_device_coherent.anon_write_hugetlbfs # RUN hmm.hmm_device_coherent.file_read ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.file_read ok 35 hmm.hmm_device_coherent.file_read # RUN hmm.hmm_device_coherent.file_write ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.file_write ok 36 hmm.hmm_device_coherent.file_write # RUN hmm.hmm_device_coherent.migrate ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.migrate ok 37 hmm.hmm_device_coherent.migrate # RUN hmm.hmm_device_coherent.migrate_fault ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.migrate_fault ok 38 hmm.hmm_device_coherent.migrate_fault # RUN hmm.hmm_device_coherent.migrate_release ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.migrate_release ok 39 hmm.hmm_device_coherent.migrate_release # RUN hmm.hmm_device_coherent.migrate_shared ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.migrate_shared ok 40 hmm.hmm_device_coherent.migrate_shared # RUN hmm.hmm_device_coherent.migrate_multiple ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.migrate_multiple ok 41 hmm.hmm_device_coherent.migrate_multiple # RUN hmm.hmm_device_coherent.anon_read_multiple ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_read_multiple ok 42 hmm.hmm_device_coherent.anon_read_multiple # RUN hmm.hmm_device_coherent.anon_teardown ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.anon_teardown ok 43 hmm.hmm_device_coherent.anon_teardown # RUN hmm.hmm_device_coherent.mixedmap ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.mixedmap ok 44 hmm.hmm_device_coherent.mixedmap # RUN hmm.hmm_device_coherent.compound ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.compound ok 45 hmm.hmm_device_coherent.compound # RUN hmm.hmm_device_coherent.exclusive ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.exclusive ok 46 hmm.hmm_device_coherent.exclusive # RUN hmm.hmm_device_coherent.exclusive_mprotect ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.exclusive_mprotect ok 47 hmm.hmm_device_coherent.exclusive_mprotect # RUN hmm.hmm_device_coherent.exclusive_cow ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.exclusive_cow ok 48 hmm.hmm_device_coherent.exclusive_cow # RUN hmm.hmm_device_coherent.hmm_gup_test ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.hmm_gup_test ok 49 hmm.hmm_device_coherent.hmm_gup_test # RUN hmm.hmm_device_coherent.hmm_cow_in_device ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm.hmm_device_coherent.hmm_cow_in_device ok 50 hmm.hmm_device_coherent.hmm_cow_in_device # RUN hmm2.hmm2_device_private.migrate_mixed ... # OK hmm2.hmm2_device_private.migrate_mixed ok 51 hmm2.hmm2_device_private.migrate_mixed # RUN hmm2.hmm2_device_private.snapshot ... # OK hmm2.hmm2_device_private.snapshot ok 52 hmm2.hmm2_device_private.snapshot # RUN hmm2.hmm2_device_private.double_map ... # OK hmm2.hmm2_device_private.double_map ok 53 hmm2.hmm2_device_private.double_map # RUN hmm2.hmm2_device_coherent.migrate_mixed ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm2.hmm2_device_coherent.migrate_mixed ok 54 hmm2.hmm2_device_coherent.migrate_mixed # RUN hmm2.hmm2_device_coherent.snapshot ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm2.hmm2_device_coherent.snapshot ok 55 hmm2.hmm2_device_coherent.snapshot # RUN hmm2.hmm2_device_coherent.double_map ... could not open hmm dmirror driver (/dev/hmm_dmirror2) # SKIP DEVICE_COHERENT not available # OK hmm2.hmm2_device_coherent.double_map ok 56 hmm2.hmm2_device_coherent.double_map # PASSED: 56 / 56 tests passed. # Totals: pass:54 fail:0 xfail:0 xpass:0 skip:2 error:0 The entire testsuite passes, and the system remains normal. I can run the testsuite several times and everything is fine, dmesg is clean. The kernel in -proposed fixes the issue. Happy to mark verified for noble. ** Tags removed: verification-needed-noble-linux ** Tags added: verification-done-noble-linux -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2120330 Title: Incorrect backport for CVE-2025-21861 causes kernel hangs To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2120330/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
