There's a kernel bug for mapping mem ranges which end with an address not aligned to page boundry. It's still not resolved in upstream, so let's disable mmap read for now as a workaround.
Once upstream got a right fix we can revert this patch.
Signed-off-by: Dave Young dyoung@redhat.com --- kexec-tools-2.0.4-makedumpfile-disable-mmap.patch | 36 +++++++++++++++++++++++ kexec-tools.spec | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 kexec-tools-2.0.4-makedumpfile-disable-mmap.patch
diff --git a/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch b/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch new file mode 100644 index 0000000..125b62f --- /dev/null +++ b/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch @@ -0,0 +1,36 @@ +makedumpfile: disable mmap read + +There's a kernel bug for mapping mem ranges which end with +an address not aligned to page boundry. It's still not resolved +in upstream, so let's disable mmap read for now as a workaround. + +Once upstream got a right fix we can revert this patch. + +Signed-off-by: Dave Young dyoung@redhat.com +--- + makedumpfile.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- kexec-tools/makedumpfile-1.5.4/makedumpfile.c.orig ++++ kexec-tools/makedumpfile-1.5.4/makedumpfile.c +@@ -3144,6 +3144,12 @@ out: + if (info->dump_level & DL_EXCLUDE_FREE) + setup_page_is_buddy(); + ++ /* There's a kernel bug for mapping mem ranges which end with ++ * an address not aligned to page boundry. It's still not resolved ++ * in upstream, so let's disable mmap read for now. ++ */ ++ info->flag_usemmap = FALSE; ++#if 0 + if (!initialize_mmap()) { + /* this kernel does not support mmap of vmcore */ + DEBUG_MSG("Kernel can't mmap vmcore, using reads.\n"); +@@ -3152,6 +3158,7 @@ out: + DEBUG_MSG("read %s with mmap()\n", info->name_memory); + info->flag_usemmap = TRUE; + } ++#endif + + return TRUE; + } diff --git a/kexec-tools.spec b/kexec-tools.spec index 5845b21..4182906 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -88,6 +88,7 @@ Patch607: kexec-tools-2.0.4-makedumpfile-Update-pfn_cyclic-when-the-cyclic-buffe Patch608: kexec-tools-2.0.4-makedumpfile-Use-divideup-to-calculate-maximum-required-bit.patch Patch609: kexec-tools-2.0.4-makedumpfile-cache-Allocate-buffers-at-initialization-t.patch Patch610: kexec-tools-2.0.4-makedumpfile-cache-Reuse-entry-in-pending-list.patch +Patch611: kexec-tools-2.0.4-makedumpfile-disable-mmap.patch
%description kexec-tools provides /sbin/kexec binary that facilitates a new @@ -126,6 +127,7 @@ tar -z -x -v -f %{SOURCE19} %patch608 -p1 %patch609 -p1 %patch610 -p1 +%patch611 -p1 %patch001 -p1 %patch002 -p1 %patch003 -p1
On 11/14/13 at 10:52am, Dave Young wrote:
There's a kernel bug for mapping mem ranges which end with an address not aligned to page boundry. It's still not resolved in upstream, so let's disable mmap read for now as a workaround.
Once upstream got a right fix we can revert this patch.
Signed-off-by: Dave Young dyoung@redhat.com
The patch is in kexec-tools-2.0.4-13. Thanks.
- Chao
kexec-tools-2.0.4-makedumpfile-disable-mmap.patch | 36 +++++++++++++++++++++++ kexec-tools.spec | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 kexec-tools-2.0.4-makedumpfile-disable-mmap.patch
diff --git a/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch b/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch new file mode 100644 index 0000000..125b62f --- /dev/null +++ b/kexec-tools-2.0.4-makedumpfile-disable-mmap.patch @@ -0,0 +1,36 @@ +makedumpfile: disable mmap read
+There's a kernel bug for mapping mem ranges which end with +an address not aligned to page boundry. It's still not resolved +in upstream, so let's disable mmap read for now as a workaround.
+Once upstream got a right fix we can revert this patch.
+Signed-off-by: Dave Young dyoung@redhat.com +---
- makedumpfile.c | 7 +++++++
- 1 file changed, 7 insertions(+)
+--- kexec-tools/makedumpfile-1.5.4/makedumpfile.c.orig ++++ kexec-tools/makedumpfile-1.5.4/makedumpfile.c +@@ -3144,6 +3144,12 @@ out:
- if (info->dump_level & DL_EXCLUDE_FREE)
setup_page_is_buddy();
++ /* There's a kernel bug for mapping mem ranges which end with ++ * an address not aligned to page boundry. It's still not resolved ++ * in upstream, so let's disable mmap read for now. ++ */ ++ info->flag_usemmap = FALSE; ++#if 0
- if (!initialize_mmap()) {
/* this kernel does not support mmap of vmcore */
DEBUG_MSG("Kernel can't mmap vmcore, using reads.\n");
+@@ -3152,6 +3158,7 @@ out:
DEBUG_MSG("read %s with mmap()\n", info->name_memory);
info->flag_usemmap = TRUE;
- }
++#endif
- return TRUE;
- }
diff --git a/kexec-tools.spec b/kexec-tools.spec index 5845b21..4182906 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -88,6 +88,7 @@ Patch607: kexec-tools-2.0.4-makedumpfile-Update-pfn_cyclic-when-the-cyclic-buffe Patch608: kexec-tools-2.0.4-makedumpfile-Use-divideup-to-calculate-maximum-required-bit.patch Patch609: kexec-tools-2.0.4-makedumpfile-cache-Allocate-buffers-at-initialization-t.patch Patch610: kexec-tools-2.0.4-makedumpfile-cache-Reuse-entry-in-pending-list.patch +Patch611: kexec-tools-2.0.4-makedumpfile-disable-mmap.patch
%description kexec-tools provides /sbin/kexec binary that facilitates a new @@ -126,6 +127,7 @@ tar -z -x -v -f %{SOURCE19} %patch608 -p1 %patch609 -p1 %patch610 -p1 +%patch611 -p1 %patch001 -p1 %patch002 -p1 %patch003 -p1 _______________________________________________ kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/mailman/listinfo/kexec