summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/image_signing/ensure_secure_kernelparams.sh17
1 files changed, 8 insertions, 9 deletions
diff --git a/scripts/image_signing/ensure_secure_kernelparams.sh b/scripts/image_signing/ensure_secure_kernelparams.sh
index 7d9c050d..2b13cff6 100755
--- a/scripts/image_signing/ensure_secure_kernelparams.sh
+++ b/scripts/image_signing/ensure_secure_kernelparams.sh
@@ -65,6 +65,8 @@ main() {
local testfail=0
# A buffer to include useful information that we dump when things fail.
local output
+ # Copy of a string before it has been through sed
+ local pre_sed
if [[ $# -ne 1 ]] && [[ $# -ne 2 ]]; then
usage
@@ -170,15 +172,12 @@ main() {
# Ensure all other required regex params are present.
for param in "${required_kparams_regex[@]}"; do
- if [[ "$kparams_nodm" != *$param* ]]; then
- echo "Kernel parameters missing required value: $param"
- testfail=1
- else
- # Remove matched params as we go. If all goes well, kparams_nodm
- # will be nothing left but whitespace by the end.
- kparams_nodm=$(echo " ${kparams_nodm} " |
- sed "s${M} ${param} ${M} ${M}")
- fi
+ pre_sed=" ${kparams_nodm} "
+ kparams_nodm=$(echo "${pre_sed}" | sed "s${M} ${param} ${M} ${M}")
+ if [[ "${pre_sed}" == "${kparams_nodm}" ]]; then
+ echo "Kernel parameters missing required value: ${param}"
+ testfail=1
+ fi
done
# Check-off each of the allowed-but-optional params that were present.