Compare commits

..

2 Commits

Author SHA1 Message Date
d41e1ad1af import CS kdump-utils-1.0.51-10.el10 2025-03-27 13:09:27 +00:00
28e28251c8 import RHEL 10 Beta kdump-utils-1.0.43-1.el10 2024-11-20 13:41:32 +00:00
17 changed files with 388 additions and 399 deletions

6
.gitignore vendored
View File

@ -1,5 +1 @@
/kdump-utils-1.0.42.tar.gz
/kdump-utils-1.0.43.tar.gz
/kdump-utils-1.0.45.tar.gz
/kdump-utils-1.0.51.tar.gz
/kdump-utils-1.0.54.tar.gz
kdump-utils-1.0.51.tar.gz

View File

@ -1,66 +0,0 @@
From f758448cc7f29a24d8f5ddd7418dc9dd2fc3fd35 Mon Sep 17 00:00:00 2001
From: Lichen Liu <llc123456a@gmail.com>
Date: Thu, 8 May 2025 17:22:17 +0800
Subject: [PATCH] kdumpctl: check and generate /etc/vconsole.conf
For VMs created from KVM Guest images, /etc/vconsole.conf is missing
so that dracut module 10i18n will install all kbd files.
```
# du -sh initramfs/squash/usr/lib/kbd/*
438K initramfs/squash/usr/lib/kbd/consolefonts
340K initramfs/squash/usr/lib/kbd/consoletrans
2.1M initramfs/squash/usr/lib/kbd/keymaps
232K initramfs/squash/usr/lib/kbd/unimaps
```
From man 5 vconsole.conf, KEYMAP= defaults to "us" if not set. We can
safely generate a /etc/vconsole.conf with KEYMAP=us by localectl to
reduce the initramfs size.
```
# du -sh initramfs/squash/usr/lib/kbd/*
11K initramfs/squash/usr/lib/kbd/consolefonts
121K initramfs/squash/usr/lib/kbd/keymaps
```
Signed-off-by: Lichen Liu <lichliu@redhat.com>
---
kdumpctl | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/kdumpctl b/kdumpctl
index 58de8e6..ae541a3 100755
--- a/kdumpctl
+++ b/kdumpctl
@@ -174,6 +174,18 @@ rebuild_kdump_initrd()
return 0
}
+check_and_generate_vconsole_conf()
+{
+ if [[ ! -e /etc/vconsole.conf ]]; then
+ dwarn "/etc/vconsole.conf does not exist, trying to set keymap to us to reduce the initramfs size."
+ if has_command localectl; then
+ if localectl list-keymaps | grep -q "^us$"; then
+ localectl set-keymap us 2>/dev/null
+ fi
+ fi
+ fi
+}
+
rebuild_initrd()
{
local _ret
@@ -185,6 +197,8 @@ rebuild_initrd()
return 1
fi
+ check_and_generate_vconsole_conf
+
if [[ $DEFAULT_DUMP_MODE == "fadump" ]]; then
rebuild_fadump_initrd
else
--
2.47.0

View File

@ -0,0 +1,35 @@
From 679a1c5a96e4b5fac06f2045db97db21e6a62ff8 Mon Sep 17 00:00:00 2001
From: Sourabh Jain <sourabhjain@linux.ibm.com>
Date: Wed, 8 Jan 2025 12:11:10 +0530
Subject: [PATCH] powerpc: fix early exit from udev on hotplug event for fadump
Sysfs /sys/kernel/fadump/hotplug_ready contains 1 if hotplug is
supported by fadump.
Now to exit early the RUN command should grep 0 from
/sys/kernel/fadump/hotplug_ready instead of 1.
Fix it by updating RUN command.
Fixes: b4e3d3724cf3 ("fadump/udev: do not re-register fadump if kernel hotplug ready")
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
---
98-kexec.rules.ppc64 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/98-kexec.rules.ppc64 b/98-kexec.rules.ppc64
index 85fe0b1..ac6d42a 100644
--- a/98-kexec.rules.ppc64
+++ b/98-kexec.rules.ppc64
@@ -17,7 +17,7 @@ LABEL="kdump_reload_mem"
# Don't re-register fadump if /sys/kernel/fadump/hotplug_ready sysfs is set to 1.
-RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; ! test -f /sys/kernel/fadump/hotplug_ready || cat /sys/kernel/fadump/hotplug_ready | grep 1 || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
+RUN+="/bin/sh -c '/usr/bin/systemctl is-active kdump.service || exit 0; ! test -f /sys/kernel/fadump/hotplug_ready || cat /sys/kernel/fadump/hotplug_ready | grep 0 || exit 0; /usr/bin/systemd-run --quiet --no-block /usr/lib/udev/kdump-udev-throttler'"
GOTO="kdump_reload_end"
--
2.41.0

View File

@ -0,0 +1,34 @@
From 77a0246cde3505777cfa1f9c2a1a834e76b7eed6 Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Mon, 13 Jan 2025 17:39:56 +0800
Subject: [PATCH] 99-kdump.conf: Omit nouveau and amdgpu module
Resolves: https://issues.redhat.com/browse/RHEL-52304
The GPU module provides no significant utility in second kernel, and it
introduces firmware that occupies lots of memory, which is critical in
the constrained environment of kdump. Omit it helps reduce memory usage
and optimize the crash recovery process.
See also:
https://access.redhat.com/solutions/6977793
https://access.redhat.com/solutions/7100186
Signed-off-by: Lichen Liu <lichliu@redhat.com>
---
99-kdump.conf | 1 +
1 file changed, 1 insertion(+)
diff --git a/99-kdump.conf b/99-kdump.conf
index 80d6e43..696c7ac 100644
--- a/99-kdump.conf
+++ b/99-kdump.conf
@@ -1,3 +1,4 @@
dracutmodules=''
add_dracutmodules=' kdumpbase '
omit_dracutmodules=' rdma plymouth resume ifcfg earlykdump '
+omit_drivers+=' nouveau amdgpu '
\ No newline at end of file
--
2.47.0

View File

@ -1,37 +0,0 @@
From 1d40ea3a186c65e009f8cca775e6bb07c39fd80f Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Tue, 27 May 2025 14:04:36 +0800
Subject: [PATCH] mkdumprd: replace lz4hc with lzma for better compression in
squash image
Among the compression algorithms currently enabled in RHEL-10,
erofs+lzma has a higher compression ratio than lz4hc, this patch
will replace it with lzma.
Testing shows when using erofs+lz4hc in RHEL-10, the size of the
initramfs generated for local dump is 47M, and the size for nfs
dump is 57M. After using lzma, the size is reduced to 39M and 45M.
This is very closely compared to the 38M and 44M when using
squashfs+zstd.
Signed-off-by: Lichen Liu <lichliu@redhat.com>
---
mkdumprd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdumprd b/mkdumprd
index 5b6daaa..6881d8a 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -404,7 +404,7 @@ if ! have_compression_in_dracut_args; then
dracut_args+=(--squash-compressor zstd)
elif has_dracut_module squash-erofs && has_command mkfs.erofs; then
dracut_args+=(--add squash-erofs)
- dracut_args+=(--squash-compressor lz4hc)
+ dracut_args+=(--squash-compressor lzma)
elif has_command mksquashfs; then
# only true for dracut <= 103
dracut_args+=(--add squash)
--
2.47.0

View File

@ -0,0 +1,43 @@
From 966dc0845980d2150a6614387ce6a05c79e1eb80 Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Tue, 21 Jan 2025 14:04:28 +0800
Subject: [PATCH] 99-kdump.conf: Omit hwdb dracut module
The hwdb (udev hardware database) file `/etc/udev/hwdb.bin` is currently
included in the initramfs, taking up approximately 13MB of space. This is
a significant size for kdump initramfs, which may lead more OOM issues.
Certain advanced device initializations that rely on hwdb (e.g., custom
keyboard mappings, specific touchpad configurations) may not work in the
kdump environment.
However, kdump do not require hwdb in the most cases, as critical devices
like storage, network, and basic input devices are typically handled by
standard udev rules and kernel drivers.
This change prioritizes reducing initramfs size over retaining hardware
database functionality, as the latter is rarely critical in the kdump
environment.
Resolves: https://issues.redhat.com/browse/RHEL-57731
Signed-off-by: Lichen Liu <lichliu@redhat.com>
---
99-kdump.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/99-kdump.conf b/99-kdump.conf
index 696c7ac..1301c44 100644
--- a/99-kdump.conf
+++ b/99-kdump.conf
@@ -1,4 +1,4 @@
dracutmodules=''
add_dracutmodules=' kdumpbase '
-omit_dracutmodules=' rdma plymouth resume ifcfg earlykdump '
-omit_drivers+=' nouveau amdgpu '
\ No newline at end of file
+omit_dracutmodules=' hwdb rdma plymouth resume ifcfg earlykdump '
+omit_drivers+=' nouveau amdgpu '
--
2.47.0

View File

@ -1,42 +0,0 @@
From 1d7bdb507217adeaced260b1d11d8dc16146c5cb Mon Sep 17 00:00:00 2001
From: Coiby Xu <coxu@redhat.com>
Date: Fri, 30 May 2025 11:10:44 +0800
Subject: [PATCH] Fix the way to tell if there is a need to set up network
Related: https://issues.redhat.com/browse/RHEL-33413
Currently, dumping vmcore to a NVMe TCP target fails. The dracut nvmf is
supposed to be fully responsible for setting up the network and there is
no need for the involvement of the kdump dracut modle. However currently
_get_kdump_netifs returns " " even there is no NIC to be set up so the
kdump dracut module will be mislead to set up network and even install a
NetworkManager configuration file that stops all NICs from brought up by
NM. Thus NVMe TCP target fails to be set up because of network failure.
Fix _get_kdump_netifs so empty result instead of " " will be returned.
Fixes: 224d3102 ("Support setting up Open vSwitch (Ovs) Bridge network")
Signed-off-by: Coiby Xu <coxu@redhat.com>
---
dracut/99kdumpbase/module-setup.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dracut/99kdumpbase/module-setup.sh b/dracut/99kdumpbase/module-setup.sh
index bd29eaa5..d71b28ce 100755
--- a/dracut/99kdumpbase/module-setup.sh
+++ b/dracut/99kdumpbase/module-setup.sh
@@ -11,7 +11,10 @@ _save_kdump_netifs() {
}
_get_kdump_netifs() {
- echo -n "${!unique_netifs[@]} ${!ovs_unique_netifs[@]}"
+ local -a _all_netifs
+
+ _all_netifs=("${!unique_netifs[@]}" "${!ovs_unique_netifs[@]}")
+ echo -n "${_all_netifs[@]}"
}
kdump_module_init() {
--
2.50.1

View File

@ -0,0 +1,36 @@
From 722b45982e954d47e507d4aa33fbe8003da34d91 Mon Sep 17 00:00:00 2001
From: Coiby Xu <coxu@redhat.com>
Date: Mon, 17 Feb 2025 11:02:05 +0800
Subject: [PATCH] Check /proc/sys/crypto/fips_enabled to tell if FIPS has been
enabled
Resolves: https://issues.redhat.com/browse/RHEL-75539
A proposal [1] has been submitted to remove fips-mode-setup from Fedora
42. And we are suggested to tell if FIPS has been enabled by check if
/proc/sys/crypto/fips_enabled has 1.
[1] https://fedoraproject.org/wiki/Changes/RemoveFipsModeSetup#Feedback
[2] https://developers.redhat.com/articles/2024/02/27/handling-fips-mode-upstream-projects-rhel#
Signed-off-by: Coiby Xu <coxu@redhat.com>
---
mkdumprd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkdumprd b/mkdumprd
index c51d28f4..047a32ea 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -424,7 +424,7 @@ if ! is_fadump_capable; then
dracut_args+=(--no-hostonly-default-device)
- if fips-mode-setup --is-enabled 2> /dev/null; then
+ if [[ $(cat /proc/sys/crypto/fips_enabled) == 1 ]]; then
dracut_args+=(--add-device "$(findmnt -n -o SOURCE --target /boot)")
fi
fi
--
2.48.1

View File

@ -1,120 +0,0 @@
From 0678138331f6de43aaee0b7fbacf8adb38e73ff0 Mon Sep 17 00:00:00 2001
From: Coiby Xu <coxu@redhat.com>
Date: Thu, 17 Jul 2025 17:25:38 +0800
Subject: [PATCH] Support dumping to NVMe/TCP configured using NVMe Boot
Firmware Table
Resolves: https://issues.redhat.com/browse/RHEL-100907
Resolves: https://issues.redhat.com/browse/RHEL-33413
The dracut nvmf module can take care of all things. It can parse ACPI
NVMe Boot Firmware Table (NBFT) tables, generate NetworkManager profiles
and discover and connect all subsystems.
Currently, the dracut kdump module will try to bring up the same network
connections as in 1st kernel. But a different set of NVMe connections
and active network interfaces will be used for the case of multipathing.
So the dracut kdump module should let dracut nvmf module do everything.
Note connecting everything and having network redundancy may require extra
memory and the default crashkernel may not work. We'll document this
issue and ask users to increase the crashkernel.
Signed-off-by: Coiby Xu <coxu@redhat.com>
---
dracut/99kdumpbase/module-setup.sh | 37 +++++++++++++++++++++++++-----
supported-kdump-targets.txt | 2 ++
2 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/dracut/99kdumpbase/module-setup.sh b/dracut/99kdumpbase/module-setup.sh
index d71b28ce..f2a8a24f 100755
--- a/dracut/99kdumpbase/module-setup.sh
+++ b/dracut/99kdumpbase/module-setup.sh
@@ -360,11 +360,6 @@ kdump_install_nmconnections() {
exit 1
fi
done <<< "$(nmcli -t -f device,filename connection show --active)"
-
- # Stop dracut 35network-manger to calling nm-initrd-generator.
- # Note this line of code can be removed after NetworkManager >= 1.35.2
- # gets released.
- echo > "${initdir}/usr/libexec/nm-initrd-generator"
}
kdump_install_nm_netif_allowlist() {
@@ -658,7 +653,7 @@ kdump_install_net() {
kdump_install_nmconnections
apply_nm_initrd_generator_timeouts
kdump_setup_znet "$_netifs"
- kdump_install_nm_netif_allowlist "$_netifs"
+ [[ $is_nvmf ]] || kdump_install_nm_netif_allowlist "$_netifs"
kdump_install_nic_driver "$_netifs"
kdump_install_resolv_conf
fi
@@ -915,6 +910,33 @@ kdump_check_iscsi_targets() {
}
}
+# Callback function for for_each_host_dev_and_slaves_all
+#
+# Code adapted from the is_nvmf function of dracut nvmf module
+kdump_nvmf_callback() {
+ local _dev _d _trtype
+
+ _dev=$1
+
+ cd -P "/sys/dev/block/$_dev" || return 1
+ if [ -f partition ]; then
+ cd ..
+ fi
+
+ for _d in device/nvme*; do
+ [ -L "$_d" ] || continue
+ if readlink "$_d" | grep -q nvme-fabrics; then
+ read -r _trtype < "$_d"/transport
+ [[ $_trtype == "fc" || $_trtype == "tcp" || $_trtype == "rdma" ]] && return 0
+ fi
+ done
+ return 1
+}
+
+kdump_check_nvmf_target() {
+ for_each_host_dev_and_slaves_all kdump_nvmf_callback && is_nvmf=1
+}
+
# hostname -a is deprecated, do it by ourself
get_alias() {
local ips
@@ -1074,6 +1096,7 @@ EOF
install() {
declare -A unique_netifs ovs_unique_netifs ipv4_usage ipv6_usage
+ local is_nvmf
kdump_module_init
kdump_install_conf
@@ -1121,6 +1144,8 @@ install() {
# at some point of time.
kdump_check_iscsi_targets
+ kdump_check_nvmf_target
+
kdump_install_systemd_conf
# nfs/ssh dump will need to get host ip in second kernel and need to call 'ip' tool, see get_host_ip for more detail
diff --git a/supported-kdump-targets.txt b/supported-kdump-targets.txt
index 936a42b6..0c7af107 100644
--- a/supported-kdump-targets.txt
+++ b/supported-kdump-targets.txt
@@ -47,6 +47,8 @@ storage:
software FCoE (bnx2fc) (Extra configuration required,
please read "Note on FCoE" section below)
NVMe-FC (qla2xxx, lpfc)
+ NVMe/TCP configured by NVMe Boot Firmware Table (users may need to
+ increase the crashkernel value)
network:
Hardware using kernel modules: (igb, ixgbe, ice, i40e, e1000e, igc,
--
2.50.1

View File

@ -0,0 +1,64 @@
From fe18f933baed9eaa18e0c2427aaca4640d8f6fa1 Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Thu, 6 Mar 2025 10:21:43 +0800
Subject: [PATCH] kdump-lib.sh: Adjust default crashkernel reservation for
x86_64 and s390x
With new kernel features being added, both the kernel itself and the initramfs
have gradually increased in size.
Previously, we used squashfs to package and reduce the initramfs size. However,
since squashfs will be replaced by erofs, we have transitioned to erofs. The
compression algorithms supported by erofs differ from those used in squashfs.
In previous squashfs implementations, we used zstd compression, but in RHEL-10,
the erofs implementation in the kernel does not yet support zstd decompression.
As a result, we had to switch to other compression algorithms, leading to
changes in the initramfs size.
In some scenarios, the previous 192M crashkernel reservation is no longer
sufficient. Recent NFS testing has shown that at least 238M is required to
successfully capture a vmcore. Given this, we have updated the default
crashkernel reservation to start from 2G, with 256M allocated for crash
recovery.
Since 256M is a significant portion of memory on smaller systems, we have
decided not to reserve crashkernel memory by default on systems with less
than 2G of RAM. However, users can still manually adjust the `crashkernel=`
setting via tools like `grubby` if needed.
Signed-off-by: Lichen Liu <lichliu@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
---
crashkernel-howto.txt | 2 +-
kdump-lib.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/crashkernel-howto.txt b/crashkernel-howto.txt
index 2e99a34e..bd369cb8 100644
--- a/crashkernel-howto.txt
+++ b/crashkernel-howto.txt
@@ -17,7 +17,7 @@ Latest kexec-tools provides "kdumpctl get-default-crashkernel" to retrieve
the default crashkernel value,
$ echo $(kdumpctl get-default-crashkernel)
- 1G-4G:192M,4G-64G:256M,64G-:512M
+ 2G-64G:256M,64G-:512M
It will be taken as the default value of 'crashkernel=', you can use
this value as a reference for setting crashkernel value manually.
diff --git a/kdump-lib.sh b/kdump-lib.sh
index 5bdc4929..143f5056 100755
--- a/kdump-lib.sh
+++ b/kdump-lib.sh
@@ -1005,7 +1005,7 @@ kdump_get_arch_recommend_crashkernel()
_arch=$(uname -m)
if [[ $_arch == "x86_64" ]] || [[ $_arch == "s390x" ]]; then
- _ck_cmdline="1G-4G:192M,4G-64G:256M,64G-:512M"
+ _ck_cmdline="2G-64G:256M,64G-:512M"
is_sme_or_sev_active && ((_delta += 64))
elif [[ $_arch == "aarch64" ]]; then
local _running_kernel
--
2.48.1

View File

@ -1,47 +0,0 @@
From ddb0bab1f7e1e43a802993aadad03f85a3c045a9 Mon Sep 17 00:00:00 2001
From: Baoquan He <bhe@redhat.com>
Date: Wed, 25 Jun 2025 23:30:24 +0800
Subject: [PATCH] sysconfig: disable kfence in kdump kernel
Content-type: text/plain
In the current fedora and RHEL, below config items related to kfence
feature are set by default:
===
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_KFENCE_KUNIT_TEST=m
===
With them set, on x86_64, it will cost 2M extra memory used for kfence when
page size if 4K; while on arm64 with 64K page size, it will cost 32M extra
memory. This doesn't take memory cost of initializing and running kfence
itself into account, here only saying the kfence objects and guarded
pages. However, it doesn't make any sense to have kfence in a kdump
kernel. Hence, disable kfence in kdump kernel to save crashkernel
memory.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
gen-kdump-sysconfig.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gen-kdump-sysconfig.sh b/gen-kdump-sysconfig.sh
index 8ed63ba6eb9d..ca2e7610bc59 100755
--- a/gen-kdump-sysconfig.sh
+++ b/gen-kdump-sysconfig.sh
@@ -29,7 +29,7 @@ KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swio
# This variable lets us append arguments to the current kdump commandline
# after processed by KDUMP_COMMANDLINE_REMOVE
-KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices novmcoredd cma=0 hugetlb_cma=0"
+KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices novmcoredd cma=0 hugetlb_cma=0 kfence.sample_interval=0"
# This variable lets us append arguments to fadump (powerpc) capture kernel,
# further to the parameters passed via the bootloader.
--
2.41.0

View File

@ -0,0 +1,96 @@
From ca42bd690ae5e15ac5c026c646aad18fb74d0836 Mon Sep 17 00:00:00 2001
From: Lichen Liu <lichliu@redhat.com>
Date: Thu, 6 Mar 2025 13:58:02 +0800
Subject: [PATCH] kdump-lib.sh: Fix all 1G boundry to 2G
According to the current system requirements of Fedora[1] and RHEL[2], at least
2G physical memory is required to install the operating system, so it is not
meaningful to reserve crashkernel from 1G.
This patch updates the default value of crashkernel for aarch64 architecture to
reserve from 2G.
Also updated the testing part.
See Also:
[1] Fedora Minimum System Configuration: https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/hardware_overview/#hardware_overview-specs
[2] Prerequisites for enabling virtualization on RHEL: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/assembly_enabling-virtualization-in-rhel-9_configuring-and-managing-virtualization#proc_enabling-virtualization-in-rhel-9_assembly_enabling-virtualization-in-rhel-9
Signed-off-by: Lichen Liu <lichliu@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
---
kdump-lib.sh | 4 ++--
spec/kdump-lib_spec.sh | 12 ++++++------
spec/kdumpctl_manage_crashkernel_spec.sh | 4 ++--
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/kdump-lib.sh b/kdump-lib.sh
index 143f5056..0961f469 100755
--- a/kdump-lib.sh
+++ b/kdump-lib.sh
@@ -1011,7 +1011,7 @@ kdump_get_arch_recommend_crashkernel()
local _running_kernel
# Base line for 4K variant kernel. The formula is based on x86 plus extra = 64M
- _ck_cmdline="1G-4G:256M,4G-64G:320M,64G-:576M"
+ _ck_cmdline="2G-4G:256M,4G-64G:320M,64G-:576M"
if [[ -z "$2" ]]; then
_running_kernel=$(_get_kdump_kernel_version)
else
@@ -1021,7 +1021,7 @@ kdump_get_arch_recommend_crashkernel()
# the naming convention of 64k variant suffixes with +64k, e.g. "vmlinuz-5.14.0-312.el9.aarch64+64k"
if echo "$_running_kernel" | grep -q 64k; then
# Without smmu, the diff of MemFree between 4K and 64K measured on a high end aarch64 machine is 82M.
- # Picking up 100M to cover this diff. And finally, we have "1G-4G:356M;4G-64G:420M;64G-:676M"
+ # Picking up 100M to cover this diff. And finally, we have "2G-4G:356M;4G-64G:420M;64G-:676M"
((_delta += 100))
# On a 64K system, the extra 384MB is calculated by: cmdq_num * 16 bytes + evtq_num * 32B + priq_num * 16B
# While on a 4K system, it is negligible
diff --git a/spec/kdump-lib_spec.sh b/spec/kdump-lib_spec.sh
index f13372c7..daacb797 100644
--- a/spec/kdump-lib_spec.sh
+++ b/spec/kdump-lib_spec.sh
@@ -51,11 +51,11 @@ Describe 'kdump-lib'
Describe "_crashkernel_add()"
Context "For valid input values"
Parameters
- "1G-4G:256M,4G-64G:320M,64G-:576M" "100M" "1G-4G:356M,4G-64G:420M,64G-:676M"
- "1G-4G:256M" "100" "1G-4G:268435556" # avoids any rounding when size % 1024 != 0
- "1G-4G:256M,4G-64G:320M,64G-:576M@4G" "100M" "1G-4G:356M,4G-64G:420M,64G-:676M@4G"
- "1G-4G:1G,4G-64G:2G,64G-:3G@4G" "100M" "1G-4G:1124M,4G-64G:2148M,64G-:3172M@4G"
- "1G-4G:10000K,4G-64G:20000K,64G-:40000K@4G" "100M" "1G-4G:112400K,4G-64G:122400K,64G-:142400K@4G"
+ "2G-4G:256M,4G-64G:320M,64G-:576M" "100M" "2G-4G:356M,4G-64G:420M,64G-:676M"
+ "2G-4G:256M" "100" "2G-4G:268435556" # avoids any rounding when size % 1024 != 0
+ "2G-4G:256M,4G-64G:320M,64G-:576M@4G" "100M" "2G-4G:356M,4G-64G:420M,64G-:676M@4G"
+ "2G-4G:1G,4G-64G:2G,64G-:3G@4G" "100M" "2G-4G:1124M,4G-64G:2148M,64G-:3172M@4G"
+ "2G-4G:10000K,4G-64G:20000K,64G-:40000K@4G" "100M" "2G-4G:112400K,4G-64G:122400K,64G-:142400K@4G"
"1,high" "1" "2,high"
"1K,low" "1" "1025,low"
"128G-1T:4G" "0" "128G-1T:4G"
@@ -74,7 +74,7 @@ Describe 'kdump-lib'
End
Context "For invalid input values"
Parameters
- "1G-4G:256M.4G-64G:320M" "100M"
+ "2G-4G:256M.4G-64G:320M" "100M"
"foo" "1"
"1" "bar"
End
diff --git a/spec/kdumpctl_manage_crashkernel_spec.sh b/spec/kdumpctl_manage_crashkernel_spec.sh
index 3255d9aa..5817b519 100644
--- a/spec/kdumpctl_manage_crashkernel_spec.sh
+++ b/spec/kdumpctl_manage_crashkernel_spec.sh
@@ -4,8 +4,8 @@ Describe 'Management of the kernel crashkernel parameter.'
Include ./kdumpctl
kernel1=/boot/vmlinuz-5.15.6-100.fc34.x86_64
kernel2=/boot/vmlinuz-5.14.14-200.fc34.x86_64
- old_ck=1G-4G:162M,4G-64G:256M,64G-:512M
- new_ck=1G-4G:196M,4G-64G:256M,64G-:512M
+ old_ck=2G-4G:162M,4G-64G:256M,64G-:512M
+ new_ck=2G-4G:196M,4G-64G:256M,64G-:512M
KDUMP_SPEC_TEST_RUN_DIR=$(mktemp -u /tmp/spec_test.XXXXXXXXXX)
GRUB_CFG="$KDUMP_SPEC_TEST_RUN_DIR/grub.cfg"
--
2.48.1

View File

@ -1,64 +0,0 @@
From 2ca913e9ccb2b964241e8c885e00d56d54b8fbe1 Mon Sep 17 00:00:00 2001
From: Baoquan He <bhe@redhat.com>
Date: Mon, 11 Aug 2025 17:02:46 +0800
Subject: [PATCH] sysconfig: disable kfence in kdump kernel
Content-type: text/plain
In commit ddb0bab1f7e1, I mistakenly added the 'kfence.sample_interval=0'
into KDUMP_COMMANDLINE_APPEND which is taken as default parameters added
into kdump kernel. The KDUMP_COMMANDLINE_APPEND value is for unsupported
architecuture. We should append wanted kernel parameter to each
supported architecture in "update_param KDUMP_COMMANDLINE_APPEND" place.
Fix it now.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
gen-kdump-sysconfig.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gen-kdump-sysconfig.sh b/gen-kdump-sysconfig.sh
index ca2e7610bc59..e5afca0a910b 100755
--- a/gen-kdump-sysconfig.sh
+++ b/gen-kdump-sysconfig.sh
@@ -29,7 +29,7 @@ KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swio
# This variable lets us append arguments to the current kdump commandline
# after processed by KDUMP_COMMANDLINE_REMOVE
-KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices novmcoredd cma=0 hugetlb_cma=0 kfence.sample_interval=0"
+KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices novmcoredd cma=0 hugetlb_cma=0"
# This variable lets us append arguments to fadump (powerpc) capture kernel,
# further to the parameters passed via the bootloader.
@@ -82,11 +82,11 @@ case "$1" in
aarch64)
update_param KEXEC_ARGS "-s"
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0"
+ "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd cma=0 hugetlb_cma=0 kfence.sample_interval=0"
;;
i386)
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices numa=off udev.children-max=2 panic=10 transparent_hugepage=never novmcoredd cma=0 hugetlb_cma=0"
+ "irqpoll nr_cpus=1 reset_devices numa=off udev.children-max=2 panic=10 transparent_hugepage=never novmcoredd cma=0 hugetlb_cma=0 kfence.sample_interval=0"
;;
ppc64)
update_param KEXEC_ARGS "--dt-no-old-root"
@@ -109,12 +109,12 @@ s390x)
update_param KDUMP_COMMANDLINE_REMOVE \
"hugepages hugepagesz slub_debug quiet log_buf_len swiotlb vmcp_cma cma hugetlb_cma prot_virt ignition.firstboot zfcp.allow_lun_scan"
update_param KDUMP_COMMANDLINE_APPEND \
- "nr_cpus=1 cgroup_disable=memory numa=off udev.children-max=2 panic=10 transparent_hugepage=never novmcoredd vmcp_cma=0 cma=0 hugetlb_cma=0"
+ "nr_cpus=1 cgroup_disable=memory numa=off udev.children-max=2 panic=10 transparent_hugepage=never novmcoredd vmcp_cma=0 cma=0 hugetlb_cma=0 kfence.sample_interval=0"
;;
x86_64)
update_param KEXEC_ARGS "-s"
update_param KDUMP_COMMANDLINE_APPEND \
- "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr hest_disable novmcoredd cma=0 hugetlb_cma=0 pcie_ports=compat"
+ "irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 acpi_no_memhotplug transparent_hugepage=never nokaslr hest_disable novmcoredd cma=0 hugetlb_cma=0 pcie_ports=compat kfence.sample_interval=0"
;;
*)
echo "Warning: Unknown architecture '$1', using default sysconfig template." >&2
--
2.41.0

View File

@ -1,3 +0,0 @@
# kdump-utils
The kdump-utils package

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.general-kdump.tier0.functional}

View File

@ -1,19 +1,29 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 10;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
# kdump-utils has no debug source
%global debug_package %{nil}
Name: kdump-utils
Version:1.0.54
Version:1.0.51
Release: %autorelease -b 1
Summary: Kernel crash dump collection utilities
License: GPL-2.0-only
URL: https://github.com/rhkdump/kdump-utils
Source0: https://github.com/rhkdump/kdump-utils/archive/v%{version}/%{name}-%{version}.tar.gz
Patch01: 0001-kdumpctl-check-and-generate-etc-vconsole.conf.patch
Patch02: 0002-mkdumprd-replace-lz4hc-with-lzma-for-better-compress.patch
Patch03: 0003-Fix-the-way-to-tell-if-there-is-a-need-to-set-up-net.patch
Patch04: 0004-Support-dumping-to-NVMe-TCP-configured-using-NVMe-Bo.patch
Patch05: 0005-sysconfig-disable-kfence-in-kdump-kernel.patch
Patch06: 0006-sysconfig-disable-kfence-in-kdump-kernel.patch
Patch01: 0001-powerpc-fix-early-exit-from-udev-on-hotplug-event-fo.patch
Patch02: 0002-99-kdump.conf-Omit-nouveau-and-amdgpu-module.patch
Patch03: 0003-99-kdump.conf-Omit-hwdb-dracut-module.patch
Patch04: 0004-Check-proc-sys-crypto-fips_enabled-to-tell-if-FIPS-h.patch
Patch05: 0005-kdump-lib.sh-Adjust-default-crashkernel-reservation-.patch
Patch06: 0006-kdump-lib.sh-Fix-all-1G-boundry-to-2G.patch
%ifarch ppc64 ppc64le
Requires(post): servicelog
@ -126,4 +136,64 @@ fi
%doc supported-kdump-targets.txt
%changelog
%autochangelog
## START: Generated by rpmautospec
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-10
- kdump-lib.sh: Fix all 1G boundry to 2G
* Thu Mar 06 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-9
- Bump release for RHEL-75539
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-8
- kdump-lib.sh: Adjust default crashkernel reservation for x86_64 and s390x
* Thu Mar 06 2025 Coiby Xu <coxu@redhat.com> - 1.0.51-7
- Check /proc/sys/crypto/fips_enabled to tell if FIPS has been enabled
* Tue Feb 11 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-6
- Let %%post scriptlet always exit successfully
* Tue Jan 21 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-5
- 99-kdump.conf: Omit hwdb dracut module
* Tue Jan 21 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-4
- 99-kdump.conf: Omit nouveau and amdgpu module
* Mon Jan 13 2025 Lichen Liu <lichliu@redhat.com> - 1.0.51-3
- Release kdump-utils-1.0.51-3
* Mon Jan 13 2025 Pingfan Liu <piliu@redhat.com> - 1.0.51-2
- powerpc: fix early exit from udev on hotplug event for fadump
* Wed Dec 11 2024 Lichen Liu <lichliu@redhat.com> - 1.0.51-1
- Rebase to upstream 1.0.51
* Fri Nov 15 2024 Philipp Rudo <prudo@redhat.com> - 1.0.45-5
- Allow ssh opts to be processed correctly
* Fri Nov 01 2024 Coiby Xu <coxu@redhat.com> - 1.0.45-4
- Set up crashkernel value for osbuild
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.0.45-3
- Bump release for October 2024 mass rebuild:
* Sun Oct 20 2024 Tao Liu <ltao@redhat.com> - 1.0.45-2
- Return the correct exit code of rebuild initrd
* Fri Oct 11 2024 Lichen Liu <lichliu@redhat.com> - 1.0.45-1
- Rebase to upstream v1.0.45
* Mon Sep 30 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-3
- Release 1.0.43-2
* Fri Sep 27 2024 Philipp Rudo <prudo@redhat.com> - 1.0.43-2
- Enable erofs support for the kdump initrd
* Mon Jul 15 2024 Lichen Liu <lichliu@redhat.com> - 1.0.43-1
- Release 1.0.43-1
* Wed Jul 10 2024 Lichen Liu <lichliu@redhat.com> - 1.0.42-2
- Enable gating test
* Wed Jul 10 2024 Lichen Liu <lichliu@redhat.com> - 1.0.42-1
- Initial import for CentOS Stream 10
## END: Generated by rpmautospec

View File

@ -1 +1 @@
SHA512 (kdump-utils-1.0.54.tar.gz) = 8eb5b105c5614d2d206151a2261e639fa74958602fb741a725e114f7be87e866910ee530786f6e39988b15b47c477f53d22a7b563ed0aa1a09b9e96f4bb8744c
SHA512 (kdump-utils-1.0.51.tar.gz) = 4dcad4cfa8f4434e93d712675de296a49791e430b4f697c8dcfbaddbe148b53f5ef5a77d022cf7175a7650d907346def77139370ffd27ef2f6a0f6b8c9dbfa12