return 0;
}
- QTAILQ_FOREACH(param_entry, &ctx->parameter_data, next)
- {
- if (param_entry->index == param->parameter_area_index) {
- region = qigvm_prepare_memory(ctx, param->gpa, param_entry->size,
- ctx->current_header_index, errp);
- if (!region) {
- return -1;
- }
- memcpy(region, param_entry->data, param_entry->size);
- g_free(param_entry->data);
- param_entry->data = NULL;
-
- /*
- * If a confidential guest support object is provided then use it to
- * set the guest state.
- */
- if (ctx->cgs) {
- result = ctx->cgsc->set_guest_state(param->gpa, region,
- param_entry->size,
- CGS_PAGE_TYPE_UNMEASURED, 0,
- errp);
- if (result < 0) {
- return -1;
- }
- }
+ param_entry = qigvm_find_param_entry(ctx, param->parameter_area_index);
+ if (param_entry == NULL) {
+ return 0;
+ }
+
+ region = qigvm_prepare_memory(ctx, param->gpa, param_entry->size,
+ ctx->current_header_index, errp);
+ if (!region) {
+ return -1;
+ }
+ memcpy(region, param_entry->data, param_entry->size);
+ g_free(param_entry->data);
+ param_entry->data = NULL;
+
+ /*
+ * If a confidential guest support object is provided then use it to
+ * set the guest state.
+ */
+ if (ctx->cgs) {
+ result = ctx->cgsc->set_guest_state(param->gpa, region,
+ param_entry->size,
+ CGS_PAGE_TYPE_UNMEASURED, 0,
+ errp);
+ if (result < 0) {
+ return -1;
}
}
return 0;