Re: [PATCH v9 33/43] x86/compressed: Add SEV-SNP feature detection/setup

Borislav Petkov
2022-02-06T16:41:44Z

On Fri, Jan 28, 2022 at 11:17:54AM -0600, Brijesh Singh wrote:
> +static struct cc_setup_data *get_cc_setup_data(struct boot_params *bp)
> +{
> + struct setup_data *hdr = (struct setup_data *)bp->hdr.setup_data;
> +
> + while (hdr) {
> + if (hdr->type == SETUP_CC_BLOB)
> + return (struct cc_setup_data *)hdr;
> + hdr = (struct setup_data *)hdr->next;
> + }
> +
> + return NULL;
> +}

Merge that function into its only caller.

...

> +static struct cc_blob_sev_info *snp_find_cc_blob(struct boot_params *bp)

static function, no need for the "snp_" prefix. Please audit all your
patches for that and remove that prefix from all static functions.

> +{
> + struct cc_blob_sev_info *cc_info;
> +
> + cc_info = snp_find_cc_blob_efi(bp);
> + if (cc_info)
> + goto found_cc_info;
> +
> + cc_info = snp_find_cc_blob_setup_data(bp);
> + if (!cc_info)
> + return NULL;
> +
> +found_cc_info:
> + if (cc_info->magic != CC_BLOB_SEV_HDR_MAGIC)
> + sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SNP_UNSUPPORTED);
> +
> + return cc_info;
> +}
> +
> +bool snp_init(struct boot_params *bp)
> +{
> + struct cc_blob_sev_info *cc_info;
> +
> + if (!bp)
> + return false;
> +
> + cc_info = snp_find_cc_blob(bp);
> + if (!cc_info)
> + return false;
> +
> + /*
> + * Pass run-time kernel a pointer to CC info via boot_params so EFI
> + * config table doesn't need to be searched again during early startup
> + * phase.
> + */
> + bp->cc_blob_address = (u32)(unsigned long)cc_info;
> +
> + /*
> + * Indicate SEV-SNP based on presence of SEV-SNP-specific CC blob.
> + * Subsequent checks will verify SEV-SNP CPUID/MSR bits.
> + */

Put that comment over the function name.

Thx.

--
Regards/Gruss,
Boris.