Bug 445221 - BUG in slab.c on save/restore
Summary: BUG in slab.c on save/restore
Keywords:
Status: CLOSED DUPLICATE of bug 288511
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel-xen
Version: 5.2
Hardware: ia64
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Xen Maintainance List
QA Contact: Martin Jenner
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-05 15:28 UTC by Aron Griffis
Modified: 2009-01-22 14:02 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-22 14:02:26 UTC
Target Upstream Version:
Embargoed:


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

Description Aron Griffis 2008-05-05 15:28:28 UTC
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
http://xenbits.xensource.com/xen-unstable.hg?rev/63263d715d43

Version-Release number of selected component (if applicable):
kernel-2.6.18-91.el5.x86_64.rpm
(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 23:01:24 UTC
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 23:03:56 UTC
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 09:46:05 UTC
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.

Thanks,
Chris Lalancette

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

http://people.redhat.com/clalance/virttest

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

Thanks,
Chris Lalancette

Comment 5 Chris Lalancette 2009-01-22 14:02:26 UTC
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.