From 3ec4541deea94f72c3f0fdc7611861195f19599b Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Thu, 25 Apr 2024 17:01:18 +0200 Subject: [PATCH] cleanup --- src/lib/bootloader/systemdboot.rb | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/lib/bootloader/systemdboot.rb b/src/lib/bootloader/systemdboot.rb index 2b1f6fa6d..4828da79e 100644 --- a/src/lib/bootloader/systemdboot.rb +++ b/src/lib/bootloader/systemdboot.rb @@ -47,31 +47,35 @@ def kernel_params # rubocop:disable Metrics/AbcSize def merge(other) - log.info "merging with system: timeout=#{other.menue_timeout} " \ - "secure_boot=#{other.secure_boot}" - log.info " kernel_params = #{other.kernel_params.serialize}" + log.info "merging: timeout: #{timeout}=>#{other.menue_timeout}" + log.info " secure_boot: #{secure_boot}=>#{other.secure_boot}" + log.info " mitigations: #{cpu_mitigations}=>#{other.cpu_mitigations}" + log.info " kernel_params: #{kernel_params.serialize}=>" \ + "#{other.kernel_params.serialize}" super self.menue_timeout = other.menue_timeout unless other.menue_timeout.nil? self.secure_boot = other.secure_boot unless other.secure_boot.nil? + kernel_serialize = kernel_params.serialize # handle specially noresume as it should lead to remove all other resume - kernel_serialize.gsub!(/resume=\S+/, "") if kernel_params.parameter("noresume") - - # explicitly set mitigations means overwrite of our - if other.explicit_cpu_mitigations - log.info "merging cpu_mitigations" - self.cpu_mitigations = other.cpu_mitigations - end + kernel_serialize.gsub!(/resume=\S+/, "") if other.kernel_params.parameter("noresume") - log.info "mitigations after merge #{cpu_mitigations}" # prevent double cpu_mitigations params - kernel_serialize.gsub!(/mitigations=\S+/, "") if kernel_params.parameter("mitigations") + kernel_serialize.gsub!(/mitigations=\S+/, "") if other.kernel_params.parameter("mitigations") new_kernel_params = "#{kernel_serialize} #{other.kernel_params.serialize}" # deduplicate identicatel parameter. Keep always the last one ( so reverse is needed ). new_params = new_kernel_params.split.reverse.uniq.reverse.join(" ") @kernel_container.kernel_params.replace(new_params) + + # explicitly set mitigations means overwrite of our + self.cpu_mitigations = other.cpu_mitigations if other.explicit_cpu_mitigations + + log.info "merging result: timeout: #{timeout}" + log.info " secure_boot: #{secure_boot}" + log.info " mitigations: #{cpu_mitigations}" + log.info " kernel_params: #{kernel_params.serialize}" end # rubocop:enable Metrics/AbcSize