Accepting request 574782 from Kernel:kdump

- kdump-nsswitch.conf-filtering.patch 
- kdump-fix-missing-index-of-kdump_Host.patch: Fix missing index of
  kdump_Host (bsc#1002617).
- kdump-bail-out-if-no-default-interface.patch: Bail out of
  kdump_check_net if no default interface is found (bsc#1058202).
- kdump-calibrate-adjust-sizeof-struct-page.patch: calibrate:
  Adjust sizeof(struct page).
- kdump-calibrate-update-kernel-text-data-size.patch: calibrate:
  Update kernel text+data size.
- kdump-calibrate-update-user-space-requirements.patch: calibrate:
  Update user-space requirements.

OBS-URL: https://build.opensuse.org/request/show/574782
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kdump?expand=0&rev=93
This commit is contained in:
Dominique Leuenberger 2018-02-13 09:26:05 +00:00 committed by Git OBS Bridge
commit 4845ab2e51
8 changed files with 367 additions and 0 deletions

View File

@ -0,0 +1,33 @@
From: Petr Tesarik <ptesarik@suse.com>
Date: Fri, 9 Feb 2018 16:55:55 +0100
Subject: Bail out of kdump_check_net if no default interface is found
References: bsc#1058202
Upstream: merged
Git-commit: 0f07085aac4f506752e2cd41a43b34b85f3f09aa
If network is required but no default interface is found, dracut
spits spurious errors, such as:
/lib/kdump/setup-kdump.functions: line 471: /sys/class/net//addr_assign_type: No such file or directory
/lib/kdump/setup-kdump.functions: line 472: [: : integer expression expected
/lib/kdump/setup-kdump.functions: line 476: ethtool: command not found
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
init/module-setup.sh | 5 +++++
1 file changed, 5 insertions(+)
--- a/init/module-setup.sh
+++ b/init/module-setup.sh
@@ -33,6 +33,11 @@ kdump_check_net() {
if [ "$kdump_host_if" = "default" ] ; then
kdump_host_if=$(kdump_default_netdev)
fi
+ if [ -z "$kdump_host_if" ] ; then
+ kdump_neednet=
+ return 1
+ fi
+
if [ "$kdump_net_mode" = "auto" ] ; then
kdump_net_mode=$(kdump_netdev_mode "$kdump_host_if")
fi

View File

@ -0,0 +1,87 @@
From: Petr Tesarik <ptesarik@suse.com>
Date: Thu, 8 Feb 2018 17:47:21 +0100
Subject: calibrate: Adjust sizeof(struct page)
Upstream: merged
Git-commit: f3aed9afcece4a6d25f9ee5ed0d4a2e82204cfa1
After adding a memcg pointer, struct page has grown by one pointer.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
kdumptool/calibrate.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
--- a/kdumptool/calibrate.cc
+++ b/kdumptool/calibrate.cc
@@ -63,7 +63,7 @@
# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(3)
-# define SIZE_STRUCT_PAGE 56
+# define SIZE_STRUCT_PAGE 64
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 108
@@ -74,7 +74,7 @@
# define KERNEL_INIT_KB MB(4)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 32
+# define SIZE_STRUCT_PAGE 36
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 56
@@ -96,7 +96,7 @@
# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 32
+# define SIZE_STRUCT_PAGE 36
# define KDUMP_PHYS_LOAD MB(128)
# define CAN_REDUCE_CPUS 0
# define PERCPU_KB 0 // TODO !!!
@@ -107,7 +107,7 @@
# define KERNEL_INIT_KB 512
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 56
+# define SIZE_STRUCT_PAGE 64
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 48
@@ -120,7 +120,7 @@
# define KERNEL_INIT_KB 512
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 32
+# define SIZE_STRUCT_PAGE 36
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 0 // TODO !!!
@@ -133,7 +133,7 @@
# define KERNEL_INIT_KB MB(3)
# define INIT_KB MB(44)
# define INIT_NET_KB MB(4)
-# define SIZE_STRUCT_PAGE 56
+# define SIZE_STRUCT_PAGE 64
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 0 // TODO !!!
@@ -144,7 +144,7 @@
# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 56
+# define SIZE_STRUCT_PAGE 64
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 0 // TODO !!!
@@ -155,7 +155,7 @@
# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
-# define SIZE_STRUCT_PAGE 32
+# define SIZE_STRUCT_PAGE 36
# define KDUMP_PHYS_LOAD 0
# define CAN_REDUCE_CPUS 1
# define PERCPU_KB 0 // TODO !!!

View File

@ -0,0 +1,97 @@
From: Petr Tesarik <ptesarik@suse.com>
Date: Thu, 8 Feb 2018 18:29:20 +0100
Subject: calibrate: Update kernel text+data size
Upstream: merged
Git-commit: b7905e9aa93712e4fa25aec1213fa412318f0c7a
Kernel size has (more than) doubled. This constant should be
configurable in fact...
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
kdumptool/calibrate.cc | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
--- a/kdumptool/calibrate.cc
+++ b/kdumptool/calibrate.cc
@@ -59,7 +59,7 @@
#if defined(__x86_64__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(16)
+# define KERNEL_KB MB(32)
# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(3)
@@ -70,7 +70,7 @@
#elif defined(__i386__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(14)
+# define KERNEL_KB MB(28)
# define KERNEL_INIT_KB MB(4)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
@@ -81,7 +81,7 @@
#elif defined(__powerpc64__)
# define DEF_RESERVE_KB MB(256)
-# define KERNEL_KB MB(16)
+# define KERNEL_KB MB(32)
# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(58)
# define INIT_NET_KB MB(4)
@@ -92,7 +92,7 @@
#elif defined(__powerpc__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(12)
+# define KERNEL_KB MB(24)
# define KERNEL_INIT_KB MB(5)
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
@@ -103,7 +103,7 @@
#elif defined(__s390x__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(13)
+# define KERNEL_KB MB(26)
# define KERNEL_INIT_KB 512
# define INIT_KB MB(34)
# define INIT_NET_KB MB(2)
@@ -116,7 +116,7 @@
#elif defined(__s390__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(12)
+# define KERNEL_KB MB(24)
# define KERNEL_INIT_KB 512
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
@@ -129,7 +129,7 @@
#elif defined(__ia64__)
# define DEF_RESERVE_KB MB(512)
-# define KERNEL_KB MB(32)
+# define KERNEL_KB MB(64)
# define KERNEL_INIT_KB MB(3)
# define INIT_KB MB(44)
# define INIT_NET_KB MB(4)
@@ -140,7 +140,7 @@
#elif defined(__aarch64__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(10)
+# define KERNEL_KB MB(26)
# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)
@@ -151,7 +151,7 @@
#elif defined(__arm__)
# define DEF_RESERVE_KB MB(128)
-# define KERNEL_KB MB(12)
+# define KERNEL_KB MB(24)
# define KERNEL_INIT_KB MB(1)
# define INIT_KB MB(29)
# define INIT_NET_KB MB(2)

View File

@ -0,0 +1,44 @@
From: Petr Tesarik <ptesarik@suse.com>
Date: Thu, 8 Feb 2018 18:59:55 +0100
Subject: calibrate: Update user-space requirements
Upstream: merged
Git-commit: 9703485b83c13c3382ede24d92bef47ae3efe7af
Userspace memory consumption has also increased.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
kdumptool/calibrate.cc | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
--- a/kdumptool/calibrate.cc
+++ b/kdumptool/calibrate.cc
@@ -213,20 +213,20 @@ static inline unsigned long s390x_align_
#define DIRTY_RATIO 20
// Userspace base requirements:
-// systemd (PID 1) 3 M
-// haveged 4 M
-// journald 2 M
+// systemd (PID 1) 8 M
+// haveged 6 M
+// journald 5 M
// the journal itself 4 M
-// 10 * udevd 12 M
+// 10 * udevd 28 M
// kdumptool 4 M
// makedumpfile 1 M
// -------------------------
-// TOTAL: 30 M
-#define USER_BASE_KB MB(30)
+// TOTAL: 56 M
+#define USER_BASE_KB MB(56)
// Additional requirements when network is configured
-// dhclient 7 M
-#define USER_NET_KB MB(7)
+// dhclient 10 M
+#define USER_NET_KB MB(10)
// Maximum size of the page bitmap
// 32 MiB is 32*1024*1024*8 = 268435456 bits

View File

@ -0,0 +1,29 @@
From: Lance Wang <lzwang@suse.com>
Date: Mon, 4 Dec 2017 16:05:23 +0800
Subject: Fix missing index of kdump_Host
References: bsc#1002617
Upstream: merged
Git-commit: 3d0ba82b678f996dd78a8de7da043340efec7dcb
Fix missing index of kdump_Host
---
init/setup-kdump.functions | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -868,11 +868,11 @@ function kdump_modify_config() #
kdump_over_ssh=yes
if [ -z "$KDUMP_HOST_KEY" ] ; then
KDUMP_HOST_KEY=$(
- ssh-keygen -F "$kdump_Host" 2>/dev/null | \
+ ssh-keygen -F "${kdump_Host[i]}" 2>/dev/null | \
awk '/^[^#]/ { if (NF==3) { print $3; exit } }'
)
fi
- ssh-keygen -F "$kdump_Host" 2> /dev/null \
+ ssh-keygen -F "${kdump_Host[i]}" 2> /dev/null \
>>"${dest}/kdump/.ssh/known_hosts"
fi

View File

@ -0,0 +1,38 @@
From: Lance Wang <lzwang@suse.com>
Date: Mon, 4 Dec 2017 16:14:06 +0800
Subject: Copy /etc/hosts and /etc/nsswitch.conf in setup-kdump.functions
References: bsc#1048178,bsc#1002617
Upstream: merged
Git-commit: c5b2ce7c303d19f3615607d9867a06ce0f0d7ae2
Only filter field hosts from /etc/nsswitch.conf to avoid ssh login failure.
It is better to copy files in kdump dracut module than via the cmdline
to dracut.
---
init/mkdumprd | 3 ---
init/setup-kdump.functions | 2 ++
2 files changed, 2 insertions(+), 3 deletions(-)
--- a/init/mkdumprd
+++ b/init/mkdumprd
@@ -142,9 +142,6 @@ function run_dracut()
# Make resolved variables visible to the dracut module
kdump_export_targets
- # Include additional files in the kdump initial ram disk
- DRACUT_ARGS="$DRACUT_ARGS --install '/etc/hosts /etc/nsswitch.conf'"
-
DRACUT_ARGS="$DRACUT_ARGS --add 'kdump' $INITRD $KERNELVERSION"
echo "Regenerating kdump initrd ..." >&2
eval "bash -$- $DRACUT $DRACUT_ARGS"
--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -859,6 +859,8 @@ function kdump_modify_config() #
KDUMP_SAVEDIR="${KDUMP_SAVEDIR}file://${kdump_Realpath[i]}"
elif [ "$protocol" != "srcfile" ] ; then
KDUMP_SAVEDIR="${KDUMP_SAVEDIR}${kdump_URL[i]}"
+ cp /etc/hosts "${dest}/etc"
+ grep '^hosts:' /etc/nsswitch.conf > "${dest}/etc/nsswitch.conf"
fi
#

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Fri Feb 9 17:46:06 UTC 2018 - ptesarik@suse.com
- kdump-nsswitch.conf-filtering.patch
-------------------------------------------------------------------
Fri Feb 9 17:44:42 UTC 2018 - ptesarik@suse.com
- kdump-fix-missing-index-of-kdump_Host.patch: Fix missing index of
kdump_Host (bsc#1002617).
-------------------------------------------------------------------
Fri Feb 9 16:09:48 UTC 2018 - ptesarik@suse.com
- kdump-bail-out-if-no-default-interface.patch: Bail out of
kdump_check_net if no default interface is found (bsc#1058202).
-------------------------------------------------------------------
Thu Feb 8 18:38:43 UTC 2018 - ptesarik@suse.com
- kdump-calibrate-adjust-sizeof-struct-page.patch: calibrate:
Adjust sizeof(struct page).
- kdump-calibrate-update-kernel-text-data-size.patch: calibrate:
Update kernel text+data size.
- kdump-calibrate-update-user-space-requirements.patch: calibrate:
Update user-space requirements.
-------------------------------------------------------------------
Fri Jan 26 13:03:47 UTC 2018 - ptesarik@suse.com

View File

@ -79,6 +79,12 @@ Patch29: %{name}-fillupdir-fixes.patch
Patch30: %{name}-kdump_echo-and-kdump_logger-helpers.patch
Patch31: %{name}-try-both-kexec_load-and-kexec_file_load.patch
Patch32: %{name}-fix-m_threads-missing-initialization.patch
Patch33: %{name}-calibrate-adjust-sizeof-struct-page.patch
Patch34: %{name}-calibrate-update-kernel-text-data-size.patch
Patch35: %{name}-calibrate-update-user-space-requirements.patch
Patch36: %{name}-bail-out-if-no-default-interface.patch
Patch37: %{name}-fix-missing-index-of-kdump_Host.patch
Patch38: %{name}-nsswitch.conf-filtering.patch
BuildRequires: asciidoc
BuildRequires: cmake
BuildRequires: gcc-c++
@ -173,6 +179,12 @@ cp %{S:1} tests/data/
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%build
export CFLAGS="%{optflags}"