Tool to transform and deploy CPU microcode update for x86.
Go to file
Eugene Syromiatnikov 242b19d375 update_ucode: cleanup dangling symlinks during update
Microcode is not supposed to be removed during updates,
so there are several possible code paths/situations when
it is possible that symlinks are not completely cleaned up;
as a result, when such a case occurs (for example, when
there is a microcode, that is not supposed to be OS-loadable
in the first place, added end then removed) a dangling symlinks
may appear during updates;  the most straightforward way to deal
with it, it seems, is to just treat the microcode directories
as being owned by the package (which they de-facto are) and simply
cleanup all the dangling symlinks during an update.

* update_ucode: Remove all the dangling symlinks at the end of common
microcode removal phase;  remove all the dangling symlinks in the
kernel-specific directories at the end of the update process.
* microcode_ctl.spec (Release): Bump to 2.
(%changelog): Add an entry.

Resolves: #2135376
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
2023-06-07 00:14:50 +02:00
.gitignore Update Intel CPU microcode to microcode-20230214 release 2023-05-22 06:21:31 +02:00
01-microcode.conf Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-2d-07_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-2d-07_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-2d-07_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4e-03_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4e-03_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4e-03_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4f-01_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4f-01_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-4f-01_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-5e-03_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-5e-03_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-5e-03_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8c-01_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8c-01_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8c-01_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8e-9e-0x-0xca_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8e-9e-0x-0xca_disclaimer Import rpm: c8s 2023-02-27 14:22:48 -05:00
06-8e-9e-0x-0xca_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8e-9e-0x-dell_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8e-9e-0x-dell_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-8e-9e-0x-dell_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-55-04_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-55-04_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
06-55-04_readme Auto sync2gitlab import of microcode_ctl-20220809-1.el8.src.rpm 2022-09-21 10:12:26 +00:00
99-microcode-override.conf Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
check_caveats Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
codenames.list Update Intel CPU microcode to microcode-20230214 release 2023-05-22 06:21:31 +02:00
dracut_99microcode_ctl-fw_dir_override_module_init.sh Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
gating.yaml Bring gating.yaml over from Brew dist-git 2023-03-10 11:03:54 -08:00
gen_provides.sh Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
gen_updates2.py Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
intel_config Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
intel_disclaimer Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
intel_readme Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
microcode_ctl.spec update_ucode: cleanup dangling symlinks during update 2023-06-07 00:14:50 +02:00
microcode.service Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
README Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
README.caveats Auto sync2gitlab import of microcode_ctl-20220809-1.el8.src.rpm 2022-09-21 10:12:26 +00:00
reload_microcode Auto sync2gitlab import of microcode_ctl-20220510-1.el8.src.rpm 2022-06-16 05:19:20 +00:00
sources Update Intel CPU microcode to microcode-20230214 release 2023-05-22 06:21:31 +02:00
update_ucode update_ucode: cleanup dangling symlinks during update 2023-06-07 00:14:50 +02:00

The microcode_ctl package contains microcode files (vendor-provided binary data
and/or code in proprietary format that affects behaviour of a device) for Intel
CPUs that may be loaded into the CPU during boot.

This directory contains information regarding various aspects of the provided
microcode files and their usage.

 * LICENSE.intel-ucode
   "license" file from the Intel x86 CPU microcode archive.
 * README
   This file.
 * README.caveats
   Caveats (mechanism for enabling/disabling usage of sets of microcode files
   based on caveat configuration and user preferences) documentation.
   Also contains general information about microcode update behaviour and links
   with additional information about the relevant microarchitectural
   vulnerabilities.
 * README.intel-ucode
   "README.md" file from the Intel x86 CPU microcode archive.
 * RELEASE_NOTES.intel-ucode
   "releasenote.md" file from the Intel x86 CPU microcode archive.
 * SECURITY.intel-ucode
   "security.md" file from the Intel x86 CPU microcode archive.
 * SUMMARY.intel-ucode
   Information about supplied microcode files extracted from their headers,
   in a table form.  Columns have the following meaning:
    * "Path": path to the microcode file under one of the following directories:
       * /usr/share/microcode_ctl/ucode_with_caveats/intel
       * /usr/share/microcode_ctl/ucode_with_caveats
       * /usr/share/microcode_ctl
       * /lib/firmware
       * /etc/firmware
    * "Offset": offset of the microcode blob within the micocode file in bytes.
    * "Ext. Offset": offset of the extended signature header within
      the microcode file in bytes.
    * "Data Size": size of microcode data in bytes.  0 means 2000 bytes.
    * "Total Size": size of microcode blob in bytes, incuding headers.
      0 means 2048 bytes.
    * "CPUID": CPU ID signature (in format returned by the CPUID instruction).
    * "Platform ID Mask": mask of suitable Platform IDs (provided in bits
      52..50 of MSR 0x17).
    * "Revision": microcode revision.
    * "Date": microcode creation date.
    * "Checksum": sum (in base 1<< 32) of all 32-bit values comprising
      the microcode (from Offset up to Offset + Total Size).
    * "Codenames": list of known CPU codenames associated with the CPUID
      and Platform ID Mask combination.
   Please refer to README.cavets, section "Microcode file structure"
   for additional information regarding microcode header fields.
 * caveats
   Directory that contains readme files for each specific caveat.