[Bug 531309] [NEW] Hibernate can oops in resume on Arrandale CPUs

Colin King colin.king at ubuntu.com
Wed Mar 3 12:29:19 UTC 2010


Public bug reported:

Binary package hint: linux-source-2.6.31

When resuming from hibernate on Arrandale CPUs, the restoring of the
kernel image causes an oops.  This always seems to occur on the final 4K
of a 4M boundary, such as at address 0xc03ff000.   The oops can be
worked around by using kernel parameter "mem=nopentium" to stop using
mixed 4M/4K pages or disabling the kernel from being restored into 4M
pages (just force the use of 4K pages).  The oops occurs in the
following code:

00000043 <copy_loop>:
  43: 85 d2            test %edx,%edx
  45: 74 11            je 58 <done>
  47: 8b 32            mov (%edx),%esi
  49: 8b 7a 04       mov 0x4(%edx),%edi
  4c: b9 00 04 00 00 mov $0x400,%ecx
  51: f3 a5            rep movsl %ds:(%esi),%es:(%edi) <---- oopsing here
  53: 8b 52 08      mov 0x8(%edx),%edx
  56: eb eb           jmp 43 <copy_loop>

This can also be fixed by an appropriate TLB flush.

** Affects: linux (Ubuntu)
     Importance: High
     Assignee: Colin King (colin-king)
         Status: In Progress

** Changed in: linux (Ubuntu)
   Importance: Undecided => High

** Changed in: linux (Ubuntu)
       Status: New => In Progress

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => Colin King (colin-king)

-- 
Hibernate can oops in resume on Arrandale CPUs
https://bugs.launchpad.net/bugs/531309
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to linux in ubuntu.




More information about the kernel-bugs mailing list