Bug 445221 - BUG in slab.c on save/restore
BUG in slab.c on save/restore
Status: CLOSED DUPLICATE of bug 288511
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel-xen (Show other bugs)
ia64 Linux
low Severity low
: rc
: ---
Assigned To: Xen Maintainance List
Martin Jenner
Depends On:
  Show dependency treegraph
Reported: 2008-05-05 11:28 EDT by Aron Griffis
Modified: 2009-01-22 09:02 EST (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-01-22 09:02:26 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
backport of http://xenbits.xensource.com/xen-unstable.hg?rev/63263d715d43 (2.66 KB, patch)
2008-05-06 19:01 EDT, Aron Griffis
no flags Details | Diff
ia64 slab.c corruption patch, v2 (2.84 KB, patch)
2009-01-15 04:46 EST, Chris Lalancette
no flags Details | Diff

  None (edit)
Description Aron Griffis 2008-05-05 11:28:28 EDT
Description of problem:
When saving/restoring a domU, it's possible to hit the following:

BUG: sleeping function called from invalid context at /.../slab.c:2901
in_atomic():0, irqs_disabled():1

This bug was fixed upstream a year ago, see

Version-Release number of selected component (if applicable):
(and all prior RHEL5 xen/ia64 kernels)

How reproducible:
I couldn't reproduce this on RHEL with simple save/restore testing, but upstream
says it will only happen rarely and requires a loaded domU.  Regardless, the
problem is well-understood and has been fixed upstream for a long time now, so
it would be good to see this fix preemptively in RHEL 5.x

Additional info:
I'll port the patch, test and post it to this bug
Comment 1 Aron Griffis 2008-05-06 19:01:24 EDT
Created attachment 304696 [details]
backport of http://xenbits.xensource.com/xen-unstable.hg?rev/63263d715d43

This patch also removes a completely bogus call to xen_register_percpu_irq(). 
It's bogus because is_running_on_xen() is tested a few lines earlier and the
function returns if so.  This showed up because the patch broke the compilation
of that call, which doesn't exist in the upstream sources.  It looks like an
error (probably mine!) in the original port to fedora/rhel.
Comment 2 Aron Griffis 2008-05-06 19:03:56 EDT
I tested this patch on kernel-2.6.18-92.el5.ia64.rpm dom0 and domU, boot plus
save/restore cycle.  Everything checks out.

(Sorry about the typo in the comment 0; I accidentally typed x86_64 instead of ia64)
Comment 3 Chris Lalancette 2009-01-15 04:46:05 EST
Created attachment 329074 [details]
ia64 slab.c corruption patch, v2

In order to get this patch to apply/build on the current 5.3 kernel, I had to munge it a bit.  I think I did it right, but I'm definitely no ia64 expert, so if you could give the munged patch a quick once-over, that would be great.

Chris Lalancette
Comment 4 Chris Lalancette 2009-01-15 09:45:24 EST
I've uploaded a test kernel that contains this fix (along with several others)
to this location:


Could the original reporter try out the test kernels there, and report back if
it fixes the problem?

Chris Lalancette
Comment 5 Chris Lalancette 2009-01-22 09:02:26 EST
Actually, while going back through BZ's, I've found that this is basically a dup of 288511.  Closing it as such.

Chris Lalancette

*** This bug has been marked as a duplicate of bug 288511 ***

Note You need to log in before you can comment on or make changes to this bug.