+++ This bug was initially created as a clone of Bug #294811 +++
The kernel needs to ensure that not-present PTEs contain a PFN and not an MFN.
This is because the suspend-resume code will not canonicalize not present PTEs
since they may contain values which are not PFN or MFNs.
This was observed with 2.6.18-8.1.10.el5 but I think it might apply to the
rhel4u5 Xen kernel as well.
The problem was solved upstream with
Reproducible by running the attached main.c (gcc -O2 main.c) over a save restore
-- Additional comment from firstname.lastname@example.org on 2007-09-18 10:33 EST --
Created an attachment (id=198411)
test case to reproduce issue
Verified that this is a problem on the RHEL-4 PV kernel as well. Test case will
Created attachment 210741 [details]
Test case to reproduce the crash across save/restore
Created attachment 210751 [details]
Patch based on upstream Xen to fix the PROT_NONE crash
This patch is a backport of the upstream RHEL-4 tree to fix the mm/rmap.c crash
on i386 when running the test case during save/restore. Note that this patch
is a combination of the upstream http://xenbits.xensource.com/kernels/rhel4x.hg
changesets 219, 229, and 277. Using this patch, save/restore successfully
completes when running the above test case.
Set dev ack for Chris Lalancette.
Created attachment 295746 [details]
Updated patch, with x86_64 fixes
This is an updated version of the patch to fix the PROT_NONE crash. This
version fixes the pte_same bug in the previous version, as well as adding all
of the fixes that should be necessary for x86_64. With this version, the
RHEL-4 code is much closer to the RHEL-5 code.
Created attachment 295765 [details]
Another version of the PROT_NONE patch that actually compiles on x86_64
This is the same as the previous patch, except this one actually compiles on
Committed in 68.16.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Id like to draw your attention to 448115 which contains an additional patch
which fixes those attached here when the host has >= 64G of RAM:
I haven't actually tried the test kernels given here but I see no reason why the
fix shouldn't be necessary.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.