Hello community,
here is the log from the commit of package kdumpid for openSUSE:Factory checked in at 2014-11-05 15:54:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdumpid (Old)
and /work/SRC/openSUSE:Factory/.kdumpid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdumpid"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdumpid/kdumpid.changes 2013-07-29 17:42:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdumpid.new/kdumpid.changes 2014-11-05 15:55:11.000000000 +0100
@@ -1,0 +2,32 @@
+Tue Nov 4 10:21:51 UTC 2014 - ptesarik@suse.cz
+
+- kdumpid-fix-kdump_is_xen.patch: Fix wrong use of kdump_is_xen().
+
+-------------------------------------------------------------------
+Mon Nov 3 23:18:07 UTC 2014 - ptesarik@suse.cz
+
+- kdumpid-x86-out-of-bounds-disas.patch: x86: Prevent out-of-bounds
+ reads in disas_at().
+
+-------------------------------------------------------------------
+Mon Nov 3 21:12:46 UTC 2014 - ptesarik@suse.cz
+
+- kdumpid-quit-on-libkdumpfile-failure.patch: Quit on libkdumpfile
+ failure.
+- kdumpid-x86_64-fix-NULL-arch-segv.patch Fix SEGV when checking
+ x86_64 and arch is unknown.
+
+-------------------------------------------------------------------
+Mon Nov 3 09:24:07 UTC 2014 - ptesarik@suse.cz
+
+- kdumpid-libkdumpfile-libs.patch: Do not try to link additional
+ libraries needed by libkdumpfile.
+
+-------------------------------------------------------------------
+Mon Nov 3 09:10:56 UTC 2014 - ptesarik@suse.cz
+
+- Update to version 1.0:
+ * Include Xen version in the output
+ * Backend split off to libkdumpfile
+
+-------------------------------------------------------------------
Old:
----
kdumpid-0.92.tar.bz2
New:
----
kdumpid-1.0.tar.bz2
kdumpid-fix-kdump_is_xen.patch
kdumpid-libkdumpfile-libs.patch
kdumpid-quit-on-libkdumpfile-failure.patch
kdumpid-x86-out-of-bounds-disas.patch
kdumpid-x86_64-fix-NULL-arch-segv.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdumpid.spec ++++++
--- /var/tmp/diff_new_pack.mLVFeu/_old 2014-11-05 15:55:14.000000000 +0100
+++ /var/tmp/diff_new_pack.mLVFeu/_new 2014-11-05 15:55:14.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kdumpid
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
#Url:
@@ -26,14 +25,20 @@
%else
BuildRequires: binutils-devel
%endif
-License: GPL-2.0+
-Group: System/Kernel
-Version: 0.92
+BuildRequires: libkdumpfile-devel
+Version: 1.0
Release: 0
Summary: Utility to extract information from vmcores
+License: GPL-2.0+
+Group: System/Kernel
Url: http://sourceforge.net/p/kdumpid
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source: kdumpid-%{version}.tar.bz2
+Source: %{name}-%{version}.tar.bz2
+Patch1: %{name}-libkdumpfile-libs.patch
+Patch2: %{name}-x86_64-fix-NULL-arch-segv.patch
+Patch3: %{name}-quit-on-libkdumpfile-failure.patch
+Patch4: %{name}-x86-out-of-bounds-disas.patch
+Patch5: %{name}-fix-kdump_is_xen.patch
%description
Kdumpid extracts information such as type of dump, architecture
@@ -42,6 +47,11 @@
%prep
%setup
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
%build
make CUSTOM_CFLAGS="${CFLAGS:-%optflags}"
++++++ kdumpid-0.92.tar.bz2 -> kdumpid-1.0.tar.bz2 ++++++
++++ 2637 lines of diff (skipped)
++++++ kdumpid-fix-kdump_is_xen.patch ++++++
Date: Tue Nov 4 11:20:28 2014 +0100
From: Petr Tesarik
Subject: Fix wrong usage of kdump_is_xen()
Patch-mainline: v1.1
Git-commit: a557c16904df5ca29eec27494c43470e662fb8e7
Fix a regression from commit e1a8f69a238f1efa2dc1e693513c1366912ffe0e.
The whole expression "dd->flags & DIF_XEN" is equivallent to
"kdump_is_xen(dd->ctx)". Performing a logical AND operation with
the program flags only causes random failures.
Signed-off-by: Petr Tesarik
---
util.c | 2 +-
x86.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/util.c
+++ b/util.c
@@ -228,7 +228,7 @@ explore_kernel(struct dump_desc *dd, exp
if (arch_in_array(dd->arch, x86_biarch)) {
/* Xen pv kernels are loaded low */
addr = 0x2000;
- if (dd->flags & kdump_is_xen(dd->ctx) &&
+ if (kdump_is_xen(dd->ctx) &&
looks_like_kcode_x86(dd, addr) > 0 &&
!fn(dd, addr, addr + MAX_KERNEL_SIZE, x86_biarch)) {
dd->start_addr = addr;
--- a/x86.c
+++ b/x86.c
@@ -218,7 +218,7 @@ disas_at(struct dump_desc *dd, struct di
return 1;
if (is_reg(arg1, "si")) {
state.flags |= SI_STORED;
- if (dd->flags & kdump_is_xen(dd->ctx) &&
+ if (kdump_is_xen(dd->ctx) &&
!(state.flags & SI_MODIFIED) &&
sscanf(arg2, "0x%llx", &a) == 1)
dd->xen_start_info = a;
++++++ kdumpid-libkdumpfile-libs.patch ++++++
From: Petr Tesarik
Subject: Do not try to link additional libraries needed by libkdumpfile
Patch-mainline: not yet
While these libraries would be needed for static linking, they are not
required for dynamic linking, which is done here.
Signed-off-by: Petr Tesarik
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ MANDIR=$(PREFIX)/man
endif
CUSTOM_CFLAGS=
-LIBS += -lkdumpfile -lz -llzo2 -lsnappy -lopcodes -lbfd -liberty -ldl
+LIBS += -lkdumpfile -lz -lopcodes -lbfd -liberty -ldl
LD=ld
++++++ kdumpid-quit-on-libkdumpfile-failure.patch ++++++
Date: Mon Nov 3 22:11:26 CET 2014
From: Petr Tesarik
Subject: Quit on libkdumpfile failure
Patch-mainline: not yet
If kdump_fdopen() fails, it is not safe to use any function on the
kdump_ctx variable.
Signed-off-by: Petr Tesarik
---
main.c | 1 +
1 file changed, 1 insertion(+)
--- a/main.c
+++ b/main.c
@@ -118,6 +118,7 @@ main(int argc, char **argv)
status == kdump_syserr
? strerror(errno)
: "libkdumpfile failure");
+ return 2;
}
dd.page_size = kdump_pagesize(dd.ctx);
++++++ kdumpid-x86-out-of-bounds-disas.patch ++++++
Date: Tue Nov 4 00:15:37 2014 +0100
From: Petr Tesarik
Subject: x86: Prevent out-of-bounds reads in disas_at()
Patch-mainline: v1.1
Git-commit: a6baa2d02f125fd76f4ece14bea9d922e19b10e3
Since the buffer_vma is already subtracted from the target address,
the condition should simply check that a is within the target page.
Signed-off-by: Petr Tesarik
---
x86.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/x86.c
+++ b/x86.c
@@ -171,7 +171,7 @@ disas_at(struct dump_desc *dd, struct di
int cont = strncmp(insn, "jmp", 3);
a -= info->buffer_vma;
- if (a < info->buffer_vma + dd->page_size) {
+ if (a < dd->page_size) {
priv->initstate = state;
++priv->initstate.depth;
if (disas_at(dd, info, a) > 0)
++++++ kdumpid-x86_64-fix-NULL-arch-segv.patch ++++++
Date: Mon Nov 3 21:48:25 CET 2014
From: Petr Tesarik
Subject: Fix SEGV when checking x86_64 and arch is unknown
Patch-mainline: not yet
The probe for x86_64 avoids checking the architecture if it is known already.
However, this check uses strcmp(), which does not work with NULL pointers,
but a NULL pointer is used to specify unknown architecture.
Signed-off-by: Petr Tesarik
---
x86.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/x86.c
+++ b/x86.c
@@ -258,7 +258,8 @@ looks_like_kcode_x86(struct dump_desc *d
/* Try i386 code first */
info.mach = bfd_mach_i386_i386;
disassemble_init_for_target(&info);
- if (strcmp(dd->arch, "x86_64") && disas_at(dd, &info, 0) > 0) {
+ if ((!dd->arch || strcmp(dd->arch, "x86_64")) &&
+ disas_at(dd, &info, 0) > 0) {
free(priv);
return 1;
}
@@ -267,7 +268,8 @@ looks_like_kcode_x86(struct dump_desc *d
memset(priv, 0, sizeof(struct disas_priv) + dd->page_size / 8);
info.mach = bfd_mach_x86_64;
disassemble_init_for_target(&info);
- if (strcmp(dd->arch, "i386") && disas_at(dd, &info, 0) > 0) {
+ if ((!dd->arch || strcmp(dd->arch, "i386")) &&
+ disas_at(dd, &info, 0) > 0) {
free(priv);
return 1;
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org