Accepting request 791187 from Kernel:kdump

- kexec-tools-Remove-duplicated-variable-declarations.patch:
  Remove duplicated variable declarations (boo#1160399).
- kexec-tools-s390-Reset-kernel-command-line-on-syscal.patch: s390:
  Reset kernel command line on syscall fallback (bsc#1167868).

OBS-URL: https://build.opensuse.org/request/show/791187
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kexec-tools?expand=0&rev=135
This commit is contained in:
Dominique Leuenberger 2020-04-05 18:52:55 +00:00 committed by Git OBS Bridge
commit 39c77fd696
4 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,92 @@
From cc087b11462af9f971a2c090d07e8d780a867b50 Mon Sep 17 00:00:00 2001
From: Kairui Song <kasong@redhat.com>
Date: Wed, 29 Jan 2020 13:38:19 +0800
Subject: kexec-tools: Remove duplicated variable declarations
References: boo#1160399
Upstream: merged
Git-commit: cc087b11462af9f971a2c090d07e8d780a867b50
When building kexec-tools for Fedora 32, following error is observed:
/usr/bin/ld: kexec/arch/x86_64/kexec-bzImage64.o:(.bss+0x0): multiple definition of `bzImage_support_efi_boot';
kexec/arch/i386/kexec-bzImage.o:(.bss+0x0): first defined here
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm/../../fs2dt.h:33: multiple definition of `my_debug';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/kexec/fs2dt.h:33: first defined here
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:68: multiple definition of `arm64_mem';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:68: first defined here
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:54: multiple definition of `initrd_size';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:54: first defined here
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:53: multiple definition of `initrd_base';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:53: first defined here
And apparently, these variables are wrongly declared multiple times. So
remove duplicated declaration.
Signed-off-by: Kairui Song <kasong@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
kexec/arch/arm64/kexec-arm64.h | 6 +++---
kexec/arch/ppc64/kexec-elf-ppc64.c | 2 --
kexec/arch/x86_64/kexec-bzImage64.c | 1 -
kexec/fs2dt.h | 2 +-
4 files changed, 4 insertions(+), 7 deletions(-)
--- a/kexec/arch/arm64/kexec-arm64.h
+++ b/kexec/arch/arm64/kexec-arm64.h
@@ -50,8 +50,8 @@ int zImage_arm64_load(int argc, char **a
void zImage_arm64_usage(void);
-off_t initrd_base;
-off_t initrd_size;
+extern off_t initrd_base;
+extern off_t initrd_size;
/**
* struct arm64_mem - Memory layout info.
@@ -65,7 +65,7 @@ struct arm64_mem {
};
#define arm64_mem_ngv UINT64_MAX
-struct arm64_mem arm64_mem;
+extern struct arm64_mem arm64_mem;
uint64_t get_phys_offset(void);
uint64_t get_vp_offset(void);
--- a/kexec/arch/ppc64/kexec-elf-ppc64.c
+++ b/kexec/arch/ppc64/kexec-elf-ppc64.c
@@ -44,8 +44,6 @@
uint64_t initrd_base, initrd_size;
unsigned char reuse_initrd = 0;
const char *ramdisk;
-/* Used for enabling printing message from purgatory code */
-int my_debug = 0;
int elf_ppc64_probe(const char *buf, off_t len)
{
--- a/kexec/arch/x86_64/kexec-bzImage64.c
+++ b/kexec/arch/x86_64/kexec-bzImage64.c
@@ -42,7 +42,6 @@
#include <arch/options.h>
static const int probe_debug = 0;
-int bzImage_support_efi_boot;
int bzImage64_probe(const char *buf, off_t len)
{
--- a/kexec/fs2dt.h
+++ b/kexec/fs2dt.h
@@ -30,7 +30,7 @@ extern struct bootblock bb[1];
/* Used for enabling printing message from purgatory code
* Only has implemented for PPC64 */
-int my_debug;
+extern int my_debug;
extern int dt_no_old_root;
void reserve(unsigned long long where, unsigned long long length);

View File

@ -0,0 +1,31 @@
From: Petr Tesarik <ptesarik@suse.com>
Date: Fri, 3 Apr 2020 13:12:00 +0200
Subject: kexec-tools: s390: Reset kernel command line on syscall fallback
References: bsc#1167868
Upstream: submitted 2020-04-03
The command line is duplicated on s390 if kexec_file_load(2) is not
implemented. That's because the corresponding variable is not reset
to an empty string before re-parsing the kexec command line.
Fixes: 9cf721279f6c ("Reset getopt before falling back to legacy syscall")
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
kexec/arch/s390/kexec-image.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kexec/arch/s390/kexec-image.c b/kexec/arch/s390/kexec-image.c
index 8b39566..3c24fdf 100644
--- a/kexec/arch/s390/kexec-image.c
+++ b/kexec/arch/s390/kexec-image.c
@@ -112,6 +112,7 @@ image_s390_load(int argc, char **argv, const char *kernel_buf,
};
static const char short_options[] = KEXEC_OPT_STR "";
+ command_line[0] = 0;
ramdisk = NULL;
ramdisk_len = 0;
ramdisk_origin = 0;
--
2.16.4

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Fri Apr 3 12:11:16 UTC 2020 - Petr Tesařík <ptesarik@suse.com>
- kexec-tools-Remove-duplicated-variable-declarations.patch:
Remove duplicated variable declarations (boo#1160399).
-------------------------------------------------------------------
Fri Apr 3 11:24:02 UTC 2020 - Petr Tesařík <ptesarik@suse.com>
- kexec-tools-s390-Reset-kernel-command-line-on-syscal.patch: s390:
Reset kernel command line on syscall fallback (bsc#1167868).
-------------------------------------------------------------------
Fri Mar 13 14:11:55 UTC 2020 - Petr Tesařík <ptesarik@suse.com>

View File

@ -38,6 +38,8 @@ Patch9: %{name}-video-capability.patch
Patch10: %{name}-SYS_getrandom.patch
Patch11: %{name}-fix-kexec_file_load-error-handling.patch
Patch12: %{name}-reset-getopt-before-falling-back-to-legacy.patch
Patch13: %{name}-s390-Reset-kernel-command-line-on-syscal.patch
Patch14: %{name}-Remove-duplicated-variable-declarations.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: systemd-rpm-macros
@ -72,6 +74,8 @@ the loaded kernel after it panics.
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%build
autoreconf -fvi