]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fundemental: split out UKI defines into its own header
authorLennart Poettering <lennart@poettering.net>
Thu, 24 Aug 2023 09:22:01 +0000 (11:22 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 24 Aug 2023 11:40:37 +0000 (13:40 +0200)
The UKI sections have little to do with the PCRs, hence give them their
own header.

src/boot/efi/stub.c
src/boot/measure.c
src/fundamental/meson.build
src/fundamental/tpm-pcr.h
src/fundamental/uki.c [moved from src/fundamental/tpm-pcr.c with 96% similarity]
src/fundamental/uki.h [new file with mode: 0644]

index c2eb81d92b4b6cbb6b3de073ca0f4f968b70ed2c..8d3a10601f8280621087cce7dcf269b83ce3b4e2 100644 (file)
@@ -14,6 +14,7 @@
 #include "shim.h"
 #include "splash.h"
 #include "tpm-pcr.h"
+#include "uki.h"
 #include "util.h"
 #include "version.h"
 #include "vmm.h"
index 393d8dab11f72ed399a562da61ae4267342b1534..abd562f72e9a7868609136dba0ccf88616edc19b 100644 (file)
@@ -20,6 +20,7 @@
 #include "terminal-util.h"
 #include "tpm-pcr.h"
 #include "tpm2-util.h"
+#include "uki.h"
 #include "verbs.h"
 
 /* Tool for pre-calculating expected TPM PCR values based on measured resources. This is intended to be used
index a55a5faa53f5361460cec5a9a75521c0ae40f245..b7ca6cf10ee7698cd4b443344d1d3597331e8eeb 100644 (file)
@@ -7,5 +7,5 @@ fundamental_sources = files(
         'efivars-fundamental.c',
         'sha256.c',
         'string-util-fundamental.c',
-        'tpm-pcr.c',
+        'uki.c',
 )
index cb786e9598113c1c3256ffc27e48def36961b1a8..57befdf83b1e54235f497dc95d2e224e6f199c67 100644 (file)
@@ -43,27 +43,3 @@ enum {
         TPM2_PCR_DEBUG               = 16,
         TPM2_PCR_APPLICATION_SUPPORT = 23,
 };
-
-/* List of PE sections that have special meaning for us in unified kernels. This is the canonical order in
- * which we measure the sections into TPM PCR 11 (see above). PLEASE DO NOT REORDER! */
-typedef enum UnifiedSection {
-        UNIFIED_SECTION_LINUX,
-        UNIFIED_SECTION_OSREL,
-        UNIFIED_SECTION_CMDLINE,
-        UNIFIED_SECTION_INITRD,
-        UNIFIED_SECTION_SPLASH,
-        UNIFIED_SECTION_DTB,
-        UNIFIED_SECTION_UNAME,
-        UNIFIED_SECTION_SBAT,
-        UNIFIED_SECTION_PCRSIG,
-        UNIFIED_SECTION_PCRPKEY,
-        _UNIFIED_SECTION_MAX,
-} UnifiedSection;
-
-extern const char* const unified_sections[_UNIFIED_SECTION_MAX + 1];
-
-static inline bool unified_section_measure(UnifiedSection section) {
-        /* Don't include the PCR signature in the PCR measurements, since they sign the expected result of
-         * the measurement, and hence shouldn't be input to it. */
-        return section >= 0 && section < _UNIFIED_SECTION_MAX && section != UNIFIED_SECTION_PCRSIG;
-}
similarity index 96%
rename from src/fundamental/tpm-pcr.c
rename to src/fundamental/uki.c
index 2f7e9b428d42b070d610e451132de949a6d3ae0e..ec37d74e03584edae035be945150eea6e23bd5b2 100644 (file)
@@ -2,7 +2,7 @@
 
 #include <stddef.h>
 
-#include "tpm-pcr.h"
+#include "uki.h"
 
 const char* const unified_sections[_UNIFIED_SECTION_MAX + 1] = {
         [UNIFIED_SECTION_LINUX]   = ".linux",
diff --git a/src/fundamental/uki.h b/src/fundamental/uki.h
new file mode 100644 (file)
index 0000000..ffa960f
--- /dev/null
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include "macro-fundamental.h"
+
+/* List of PE sections that have special meaning for us in unified kernels. This is the canonical order in
+ * which we measure the sections into TPM PCR 11. PLEASE DO NOT REORDER! */
+typedef enum UnifiedSection {
+        UNIFIED_SECTION_LINUX,
+        UNIFIED_SECTION_OSREL,
+        UNIFIED_SECTION_CMDLINE,
+        UNIFIED_SECTION_INITRD,
+        UNIFIED_SECTION_SPLASH,
+        UNIFIED_SECTION_DTB,
+        UNIFIED_SECTION_UNAME,
+        UNIFIED_SECTION_SBAT,
+        UNIFIED_SECTION_PCRSIG,
+        UNIFIED_SECTION_PCRPKEY,
+        _UNIFIED_SECTION_MAX,
+} UnifiedSection;
+
+extern const char* const unified_sections[_UNIFIED_SECTION_MAX + 1];
+
+static inline bool unified_section_measure(UnifiedSection section) {
+        /* Don't include the PCR signature in the PCR measurements, since they sign the expected result of
+         * the measurement, and hence shouldn't be input to it. */
+        return section >= 0 && section < _UNIFIED_SECTION_MAX && section != UNIFIED_SECTION_PCRSIG;
+}