From 738d53e2d22cb66f99911eced335aa57d19aa025 Mon Sep 17 00:00:00 2001 From: Eugene Syromiatnikov Date: Wed, 23 Aug 2023 01:46:41 +0200 Subject: [PATCH] dracut_99microcode_ctl-fw_dir_override_module_init.sh: add new default fw_dir --- .microcode_ctl.metadata | 1 + dracut_99microcode_ctl-fw_dir_override_module_init.sh | 11 ++++++++--- microcode_ctl.spec | 6 +++++- 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 .microcode_ctl.metadata diff --git a/.microcode_ctl.metadata b/.microcode_ctl.metadata new file mode 100644 index 0000000..e112ce4 --- /dev/null +++ b/.microcode_ctl.metadata @@ -0,0 +1 @@ +bc20d6789e6614b9d9f88ee321ab82bed220f26f microcode-20190918.tar.gz diff --git a/dracut_99microcode_ctl-fw_dir_override_module_init.sh b/dracut_99microcode_ctl-fw_dir_override_module_init.sh index 854e278..f1244cb 100755 --- a/dracut_99microcode_ctl-fw_dir_override_module_init.sh +++ b/dracut_99microcode_ctl-fw_dir_override_module_init.sh @@ -13,6 +13,7 @@ install() { local DATA_DIR=/usr/share/microcode_ctl/ucode_with_caveats local CFG_DIR="/etc/microcode_ctl/ucode_with_caveats" local check_caveats=/usr/libexec/microcode_ctl/check_caveats + local fw_path_para=$(< /sys/module/firmware_class/parameters/path) local verbose_opt local cc_out @@ -36,9 +37,13 @@ install() { } # Reset fw_dir to avoid inclusion of kernel-version-specific directories - # populated with microcode for the late load - [ "x$fw_dir" != \ - "x/lib/firmware/updates /lib/firmware /lib/firmware/$kernel" ] || { + # populated with microcode for the late load, only in case it is set + # to the default value to avoid meddling with user-enforced changes. + # The second variant has been introduced in dracut-057~5. + [ \( "x$fw_dir" != \ + "x/lib/firmware/updates /lib/firmware /lib/firmware/$kernel" \) -a \ + \( "x$fw_dir" != \ + "x${fw_path_para:+$fw_path_para }/lib/firmware/updates/$kernel /lib/firmware/updates /lib/firmware/$kernel /lib/firmware" \) ] || { fw_dir="/lib/firmware/updates /lib/firmware" dinfo " microcode_ctl: reset fw_dir to \"${fw_dir}\"" } diff --git a/microcode_ctl.spec b/microcode_ctl.spec index 705af58..657cf39 100644 --- a/microcode_ctl.spec +++ b/microcode_ctl.spec @@ -12,7 +12,7 @@ Summary: CPU microcode updates for Intel x86 processors Name: microcode_ctl Version: %{intel_ucode_version} -Release: 1%{?dist} +Release: 2%{?dist} Epoch: 4 License: CC0 and Redistributable, no modification permitted URL: https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files @@ -570,6 +570,10 @@ rm -rf %{buildroot} %changelog +* Tue Aug 22 2023 Eugene Syromiatnikov - 4:20230808-2 +- Add support for the new, more correct, variant of dracut's default + $fw_dir path in dracut_99microcode_ctl-fw_dir_override_module_init.sh. + * Thu Aug 10 2023 Eugene Syromiatnikov - 4:20230808-1 - Update Intel CPU microcode to microcode-20230808 release, addresses CVE-2022-40982, CVE-2022-41804, CVE-2023-23908 (#2213124, #2223992, #2230677,