Hello community, here is the log from the commit of package kexec-tools for openSUSE:Factory checked in at Mon Jan 19 02:08:10 CET 2009. -------- --- kexec-tools/kexec-tools.changes 2009-01-07 14:39:55.000000000 +0100 +++ /mounts/work_src_done/STABLE/kexec-tools/kexec-tools.changes 2009-01-16 19:10:07.000000000 +0100 @@ -1,0 +2,13 @@ +Fri Jan 16 18:57:47 CET 2009 - bwalle@suse.de + +- The dynamic reallocation for PPC64 broke kdump completely. + Fix the patch so that dynamic reallocation actually works + without memory corruption (bnc #466782). + +------------------------------------------------------------------- +Fri Jan 16 15:11:37 CET 2009 - bwalle@suse.de + +- Add #!BuildIgnore on fop to speed up build (asciidoc don't + require fop for manpage generation). + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- kexec-tools-ppc64-dynamic-fix-1.diff kexec-tools-ppc64-dynamic-fix-2.diff kexec-tools-ppc64-dynamic-fix-3.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kexec-tools.spec ++++++ --- /var/tmp/diff_new_pack.zP1828/_old 2009-01-19 02:07:41.000000000 +0100 +++ /var/tmp/diff_new_pack.zP1828/_new 2009-01-19 02:07:41.000000000 +0100 @@ -29,7 +29,7 @@ AutoReqProv: on Summary: Tools for fast kernel loading Version: 2.0.0 -Release: 49 +Release: 51 Source: %{name}-%{version}.tar.bz2 Source1: kexec-bootloader Source2: kexec-bootloader.8.txt @@ -53,8 +53,12 @@ Patch15: %{name}-parse-iomem-single-warning.diff Patch16: %{name}-exclude-gart.diff Patch17: %{name}-ppc64-memory-ranges-dynamic.diff +Patch18: %{name}-ppc64-dynamic-fix-1.diff +Patch19: %{name}-ppc64-dynamic-fix-2.diff +Patch20: %{name}-ppc64-dynamic-fix-3.diff Url: http://ftp.kernel.org/pub/linux/kernel/people/horms/kexec-tools/ BuildRoot: %{_tmppath}/%{name}-%{version}-build +#!BuildIgnore: fop BuildRequires: zlib-devel %if 0%{?suse_version} >= 1110 BuildRequires: asciidoc @@ -100,6 +104,9 @@ %patch15 -p1 %patch16 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 %build %{?suse_update_config -f} @@ -167,6 +174,13 @@ %endif %changelog +* Fri Jan 16 2009 bwalle@suse.de +- The dynamic reallocation for PPC64 broke kdump completely. + Fix the patch so that dynamic reallocation actually works + without memory corruption (bnc #466782). +* Fri Jan 16 2009 bwalle@suse.de +- Add #!BuildIgnore on fop to speed up build (asciidoc don't + require fop for manpage generation). * Wed Jan 07 2009 bwalle@suse.de - Allocate memory ranges dynamically on PPC64 (bnc #460752). * Tue Dec 09 2008 bwalle@suse.de ++++++ kexec-tools-ppc64-dynamic-fix-1.diff ++++++
From b4b79993adc9ac3094361900f34582e36f5de162 Mon Sep 17 00:00:00 2001 From: Bernhard Walle
Date: Fri, 16 Jan 2009 18:52:29 +0100 Subject: [PATCH] [PPC64] Fix typo in realloc_memory_ranges()
The base_memory_range should not become memory_range. We need to realloc
base_memory_range to not change the contents of memory. That was a copy & paste
error.
Signed-off-by: Bernhard Walle
From ef3f522c99c0e8af06ae5af625225885f8930b19 Mon Sep 17 00:00:00 2001 From: Bernhard Walle
Date: Fri, 16 Jan 2009 18:52:26 +0100 Subject: [PATCH] [PPC64] Fix memory corruption when using realloc_memory_ranges()
Because realloc_memory_ranges() makes the old memory invalid, and we return
a pointer to memory_range in get_memory_ranges(), we need to copy the contents
in get_memory_ranges().
Some code that calls realloc_memory_ranges() may be triggered by
get_base_ranges() which is called after get_memory_ranges().
Yes, the memory needs to be deleted somewhere, but I don't know currently
where it's the best, and since it's not in a loop and memory is deleted
anyway after program termination I don't want to introduce unneccessary
complexity. The problem is that get_base_ranges() gets called from
architecture independent code and that allocation is PPC64-specific here.
Signed-off-by: Bernhard Walle
From 8a2f02cc303147cb09f00a9d322c6bfaee32492d Mon Sep 17 00:00:00 2001 From: Bernhard Walle
Date: Fri, 16 Jan 2009 18:52:10 +0100 Subject: [PATCH] [PPC64] printf() consolidation
Remove the fprintf(stderr,...) in get_memory_ranges() that adds unnecessary
output in the normal kexec case that the user don't want to see.
Use dbgprintf() in get_base_ranges() instead of
#ifdef DEBUG
fprintf(stderr,...)
#endif
to to make the code more readable.
Signed-off-by: Bernhard Walle