[Bug 196717] CPU: 0 PID: 5405 at arch/x86/kvm/mmu.c:717 mmu_spte_clear_track_bits+0xe7/0x100 [kvm]

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=196717

--- Comment #6 from Jeff Cook (jeff@xxxxxxxxxxx) ---
After a little bit of digging, it seems that the patchset "KVM: nVMX: nested
EPT improvements and A/D bits, RDRAND and RDSEED exits" (described at
https://lkml.org/lkml/2017/3/8/586) is the likely origin point of this error.
This was first merged in 4.12, which is when I first started encountering this
error.

Something about the "accessed_dirty" flag causes the warning on line 717 of
arch/x86/kvm/mmu.c to trigger:

    WARN_ON(!kvm_is_reserved_pfn(pfn) && !page_count(pfn_to_page(pfn)));

and then later, the system refuses to allocate the memory requested because
when checking if the page is safe to use, it encounters a dirty flag:

    [94449.442437] BUG: Bad page state in process makepkg  pfn:2a401a
    [94449.442447] flags: 0x17fff0000000014(referenced|dirty)
    [...]
    [94449.442462] page dumped because: PAGE_FLAGS_CHECK_AT_PREP flag set
    [94449.442465] bad because of flags: 0x14(referenced|dirty)
    [...]
    [94449.442615] Call Trace:
    [...]
    [94449.442907]  bad_page+0xce/0x130
    [94449.442912]  check_new_page_bad+0x67/0x80
    [94449.442916]  get_page_from_freelist+0x979/0xad0
    [...]

As the diff for kvm/mmu.c between 4.11 and 4.12 is quite small, it seems likely
that this change is the origin point of the bug.

Perhaps something in along the way has not been updated to account for this
flag? I would revert to test, but it appears that this patchset has grown
several dependents. If someone wants to suggest a series of commits to revert
or a patch to test, I am happy to try that.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux