Looking at the code, it seems that this commit removed the
setting/restore of mmu_cr4_features, and the crash happens when it loads
probably an invalid mmu_cr4_features

And indeed that's the case, today I saw this commit coming in in Linus tree:
commit 4da9484bdece39ab0b098fa711e095e3e9fc8684
Author: H. Peter Anvin <[email protected]>
Date:   Wed Apr 6 13:10:02 2011 -0700

    x86, hibernate: Initialize mmu_cr4_features during boot
    
    Restore the initialization of mmu_cr4_features during boot, which was
    removed without comment in checkin e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e
    
    x86: Cleanup highmap after brk is concluded
    
    thereby breaking resume from hibernate.  This restores previous
    functionality in approximately the same place, and corrects the
    reading of %cr4 on pre-CPUID hardware (%cr4 exists if and only if
    CPUID is supported.)
    
    However, part of the problem is that the hibernate suspend/resume
    sequence should manage the save/restore of %cr4 explicitly.
    
    Signed-off-by: H. Peter Anvin <[email protected]>
    Cc: Rafael J. Wysocki <[email protected]>
    Cc: Stefano Stabellini <[email protected]>
    Cc: Yinghai Lu <[email protected]>
    LKML-Reference: <[email protected]>

and it fixes the bug for me too, testing here

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/752870

Title:
  Oops after resume from hibernate on restore_image

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to