On Tue, Aug 13, 2024 at 04:01:15PM GMT, Roy Hopkins wrote:
>The initialization sections in IGVM files contain configuration that
>should be applied to the guest platform before it is started. This
>includes guest policy and other information that can affect the security
>level and the startup measurement of a guest.
>
>This commit introduces handling of the initialization sections during
>processing of the IGVM file.
>
>Signed-off-by: Roy Hopkins <roy.hopkins@suse.com>
>Acked-by: Michael S. Tsirkin <mst@redhat.com>
>---
> backends/igvm.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>
>diff --git a/backends/igvm.c b/backends/igvm.c
>index 7a3fedcc76..9120922a95 100644
>--- a/backends/igvm.c
>+++ b/backends/igvm.c
>@@ -787,6 +787,27 @@ int qigvm_process_file(IgvmCfg *cfg, ConfidentialGuestSupport *cgs,
> }
> }
>
>+ header_count =
>+ igvm_header_count(ctx.file, IGVM_HEADER_SECTION_INITIALIZATION);
>+ if (header_count < 0) {
>+ error_setg(
>+ errp,
>+ "Invalid initialization header count in IGVM file. Error code: %X",
>+ header_count);
>+ return -1;
>+ }
>+
>+ for (ctx.current_header_index = 0;
>+ ctx.current_header_index < (unsigned)header_count;
>+ ctx.current_header_index++) {
>+ IgvmVariableHeaderType type =
>+ igvm_get_header_type(ctx.file, IGVM_HEADER_SECTION_INITIALIZATION,
>+ ctx.current_header_index);
>+ if (qigvm_handler(&ctx, type, errp) < 0) {
>+ goto cleanup;
>+ }
>+ }
>+
> /*
> * Contiguous pages of data with compatible flags are grouped together in
> * order to reduce the number of memory regions we create. Make sure the
>--
>2.43.0
>