[PATCH 1/2] Earlier initialization of dom0_mapnr
Petr Tesarik
ptesarik at suse.cz
Thu Mar 27 14:06:15 EDT 2014
Xen dumps fail, because the p2m mapping is initialized too late.
The dependency goes like this:
- Xen uses FLATMEM
- get_mm_flatmem() uses info->dom0_mapnr to initialize mm structures
- get_dom0_mapnr() needs p2m mappings to read from a VADDR
- the p2m list is initialized in get_machdep_info()
Signed-off-by: Petr Tesarik <ptesarik at suse.cz>
---
makedumpfile.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/makedumpfile.c b/makedumpfile.c
index e91583d..d3f5237 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -3128,6 +3128,12 @@ out:
if (!get_max_mapnr())
return FALSE;
+ if (debug_info && !get_machdep_info())
+ return FALSE;
+
+ if (is_xen_memory() && !get_dom0_mapnr())
+ return FALSE;
+
if (info->flag_cyclic) {
if (info->bufsize_cyclic == 0) {
if (!calculate_cyclic_buffer_size())
@@ -3185,9 +3191,6 @@ out:
if (info->flag_sadump)
(void) sadump_virt_phys_base();
- if (!get_machdep_info())
- return FALSE;
-
if (info->flag_sadump) {
int online_cpus;
@@ -3233,9 +3236,6 @@ out:
return FALSE;
}
- if (is_xen_memory() && !get_dom0_mapnr())
- return FALSE;
-
if (!get_value_for_old_linux())
return FALSE;
--
1.8.4.5
More information about the kexec
mailing list