File kdump-remove-vm-sysctl.patch of Package kdump
From: Petr Tesarik <ptesarik@suse.com>
Subject: Remove vm. sysctls from kdump initrd
References: bsc#927451, bsc#987862
Patch-mainline: v0.8.16
Git-commit: 52fcf6338bfb4e029d96303d4840e995e9da2cc9
Custom sysctl VM settings in the primary system may cause unreasonable
run-time memory requirements in the kdump environment.
Remove such custom sysctl settings from kdump initrd.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
init/setup-kdump.functions | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -706,7 +706,33 @@ function kdump_init_dirs() # {{{
done
test -e "${root}/kdump/boot" || ln -snf "root/boot" "${root}/kdump/boot"
-}
+} # }}}
+
+#
+# Filter out problematic sysctl settings
+# Parameters:
+# 1) root: initrd temporary root
+function kdump_filter_sysctl() # {{{
+{
+ local root="$1"
+
+ local restoreopt=$( shopt -p nullglob )
+ shopt -s nullglob
+
+ for f in \
+ "$root"/boot/sysctl.conf-* \
+ "$root"/run/sysctl.d/*.conf \
+ "$root"/etc/sysctl.d/*.conf \
+ "$root"/usr/local/lib/sysctl.d/*.conf \
+ "$root"/usr/lib/sysctl.d/*.conf \
+ "$root"/lib/sysctl.d/*.conf \
+ "$root"/etc/sysctl.conf
+ do
+ sed -i -e '/^[ \t]*vm\./d' "$f"
+ done
+
+ eval "$restoreopt"
+} # }}}
#
# Set up or create all necessary files
@@ -753,5 +779,10 @@ function kdump_setup_files() # {
#
kdump_modify_multipath "$mpathdevs" > "${outdir}/etc/multipath.conf"
+ #
+ # filter out problematic sysctl settings
+ #
+ kdump_filter_sysctl "$outdir"
+
return 0
} # }}}