]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tpm2-setup: split out SRK setup into a function of its own
authorLennart Poettering <lennart@poettering.net>
Tue, 4 Jun 2024 14:36:39 +0000 (16:36 +0200)
committerLennart Poettering <lennart@poettering.net>
Sun, 2 Nov 2025 20:14:35 +0000 (21:14 +0100)
src/tpm2-setup/tpm2-setup.c

index 032b1e3381b17bd3ea7a0dd59674f127da1c2b8b..6338b7a75b6dbbe18f4c41f72e8180d6ed75d25c 100644 (file)
@@ -252,22 +252,9 @@ static int load_public_key_tpm2(struct public_key_data *ret) {
         return 0;
 }
 
-static int run(int argc, char *argv[]) {
+static int setup_srk(void) {
         int r;
 
-        log_setup();
-
-        r = parse_argv(argc, argv);
-        if (r <= 0)
-                return r;
-
-        if (arg_graceful && !tpm2_is_fully_supported()) {
-                log_notice("No complete TPM2 support detected, exiting gracefully.");
-                return EXIT_SUCCESS;
-        }
-
-        umask(0022);
-
         _cleanup_(public_key_data_done) struct public_key_data runtime_key = {}, persistent_key = {}, tpm2_key = {};
 
         r = load_public_key_disk(TPM2_SRK_PEM_RUNTIME_PATH, &runtime_key);
@@ -390,4 +377,23 @@ static int run(int argc, char *argv[]) {
         return 0;
 }
 
+static int run(int argc, char *argv[]) {
+        int r;
+
+        log_setup();
+
+        r = parse_argv(argc, argv);
+        if (r <= 0)
+                return r;
+
+        if (arg_graceful && !tpm2_is_fully_supported()) {
+                log_notice("No complete TPM2 support detected, exiting gracefully.");
+                return EXIT_SUCCESS;
+        }
+
+        umask(0022);
+
+        return setup_srk();
+}
+
 DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE(run);