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 - [email protected] + +- kdumpid-fix-kdump_is_xen.patch: Fix wrong use of kdump_is_xen(). + +------------------------------------------------------------------- +Mon Nov 3 23:18:07 UTC 2014 - [email protected] + +- kdumpid-x86-out-of-bounds-disas.patch: x86: Prevent out-of-bounds + reads in disas_at(). + +------------------------------------------------------------------- +Mon Nov 3 21:12:46 UTC 2014 - [email protected] + +- 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 - [email protected] + +- kdumpid-libkdumpfile-libs.patch: Do not try to link additional + libraries needed by libkdumpfile. + +------------------------------------------------------------------- +Mon Nov 3 09:10:56 UTC 2014 - [email protected] + +- 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 <[email protected]> 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 <[email protected]> --- 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 <[email protected]> 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 <[email protected]> --- 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 <[email protected]> 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 <[email protected]> --- 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 <[email protected]> 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 <[email protected]> --- 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 <[email protected]> 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 <[email protected]> --- 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: [email protected] For additional commands, e-mail: [email protected]
