(Includes partial revert of 8107ee642f9929e7e656fc52759816b51fbaef90.) - feat(resume): add device used for resume - fix(dracut): remove trailing null characters from SBATs when building UKIs - fix(network-legacy): replace `echo` writes with `printf` to prevent injection via DHCP - fix(iscsi): replace `echo` writes with `printf` to prevent variable injection - fix(network): warn on suspicious shell metacharacters in hostname file - fix(base): escape arguments in initqueue hook script generation - revert: "feat(i18n): pull 'drm' or 'simpledrm' module unless excluded" Resolves: RHEL-119785,RHEL-140458,RHEL-170858,RHEL-178488
66 lines
2.1 KiB
Diff
66 lines
2.1 KiB
Diff
From f64e4f1d9d8c715c45db1374f2786d6c384e94c7 Mon Sep 17 00:00:00 2001
|
|
From: Pavel Valena <pvalena@redhat.com>
|
|
Date: Tue, 10 Feb 2026 03:35:26 +0100
|
|
Subject: [PATCH] feat(resume): add device used for resume
|
|
|
|
regardless of whether it's mounted.
|
|
|
|
(cherry picked from commit 9d63c6ad9180fde668cb7d259e8f445d1f5677ea)
|
|
|
|
Resolves: RHEL-119785
|
|
---
|
|
modules.d/95resume/module-setup.sh | 21 +++++++++++++++++++--
|
|
1 file changed, 19 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
|
|
index 4b8d8422..66383b39 100755
|
|
--- a/modules.d/95resume/module-setup.sh
|
|
+++ b/modules.d/95resume/module-setup.sh
|
|
@@ -19,26 +19,43 @@ check() {
|
|
}
|
|
|
|
# called by dracut
|
|
-cmdline() {
|
|
+_get_resume_dev() {
|
|
local _resume
|
|
|
|
for dev in "${!host_fs_types[@]}"; do
|
|
[[ ${host_fs_types[$dev]} =~ ^(swap|swsuspend|swsupend)$ ]] || continue
|
|
_resume=$(shorten_persistent_dev "$(get_persistent_dev "$dev")")
|
|
- [[ -n ${_resume} ]] && printf " resume=%s" "${_resume}"
|
|
+ [[ -n ${_resume} ]] && echo "${_resume}"
|
|
done
|
|
}
|
|
|
|
+# called by dracut
|
|
+cmdline() {
|
|
+ local _resume
|
|
+ _resume=$(_get_resume_dev)
|
|
+ [[ -n ${_resume} ]] && printf " resume=%s" "${_resume}"
|
|
+}
|
|
+
|
|
# called by dracut
|
|
install() {
|
|
local _bin
|
|
local _resumeconf
|
|
+ local _dev
|
|
|
|
if [[ $hostonly_cmdline == "yes" ]]; then
|
|
_resumeconf=$(cmdline)
|
|
[[ $_resumeconf ]] && printf "%s\n" "$_resumeconf" >> "${initdir}/etc/cmdline.d/95resume.conf"
|
|
fi
|
|
|
|
+ # If we have a resume device on cmdline, we its drivers in initrd regardless whether it's currently mounted
|
|
+ # check current cmdline as well as fstab one
|
|
+ _dev=$(_get_resume_dev)
|
|
+ [[ $_dev ]] && push_user_devs "$_dev"
|
|
+
|
|
+ _dev=$(grep -oP "resume=\K([^ ]*)" /proc/cmdline)
|
|
+ _dev=$(shorten_persistent_dev "$(get_persistent_dev "$_dev")")
|
|
+ [[ $_dev ]] && push_user_devs "$_dev"
|
|
+
|
|
# if systemd is included and has the hibernate-resume tool, use it and nothing else
|
|
if dracut_module_included "systemd" && [[ -x $dracutsysrootdir$systemdutildir/systemd-hibernate-resume ]]; then
|
|
inst_multiple -o \
|
|
|