]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dissect-image: make verity params for mountfsd_mount_image() optional
authorLennart Poettering <lennart@poettering.net>
Wed, 19 Nov 2025 16:26:15 +0000 (17:26 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 24 Nov 2025 17:41:06 +0000 (17:41 +0000)
src/shared/dissect-image.c

index 6a427012a89e540a37978a6f956fba7c182ed10c..01003e86b27d45cb27267ac3572d6c9e3902a1ff 100644 (file)
@@ -4761,7 +4761,6 @@ int mountfsd_mount_image(
         int r;
 
         assert(path);
-        assert(verity);
         assert(ret);
 
         r = sd_varlink_connect_address(&vl, "/run/systemd/io.systemd.MountFileSystem");
@@ -4796,7 +4795,7 @@ int mountfsd_mount_image(
                         return log_error_errno(r, "Failed to format image policy to string: %m");
         }
 
-        if (verity->data_path) {
+        if (verity && verity->data_path) {
                 verity_data_fd = open(verity->data_path, O_RDONLY|O_CLOEXEC);
                 if (verity_data_fd < 0)
                         return log_error_errno(errno, "Failed to open verity data file '%s': %m", verity->data_path);
@@ -4819,8 +4818,8 @@ int mountfsd_mount_image(
                         SD_JSON_BUILD_PAIR_CONDITION(!!ps, "imagePolicy", SD_JSON_BUILD_STRING(ps)),
                         SD_JSON_BUILD_PAIR_BOOLEAN("veritySharing", FLAGS_SET(flags, DISSECT_IMAGE_VERITY_SHARE)),
                         SD_JSON_BUILD_PAIR_CONDITION(verity_data_fd >= 0, "verityDataFileDescriptor", SD_JSON_BUILD_UNSIGNED(userns_fd >= 0 ? 2 : 1)),
-                        JSON_BUILD_PAIR_IOVEC_HEX("verityRootHash", &verity->root_hash),
-                        JSON_BUILD_PAIR_IOVEC_BASE64("verityRootHashSignature", &verity->root_hash_sig),
+                        SD_JSON_BUILD_PAIR_CONDITION(verity && iovec_is_set(&verity->root_hash), "verityRootHash", JSON_BUILD_IOVEC_HEX(&verity->root_hash)),
+                        SD_JSON_BUILD_PAIR_CONDITION(verity && iovec_is_set(&verity->root_hash_sig), "verityRootHashSignature", JSON_BUILD_IOVEC_BASE64(&verity->root_hash_sig)),
                         SD_JSON_BUILD_PAIR_BOOLEAN("allowInteractiveAuthentication", FLAGS_SET(flags, DISSECT_IMAGE_ALLOW_INTERACTIVE_AUTH)));
         if (r < 0)
                 return r;