Re: [PATCH v2 08/14] platform/x86/intel/ifs: Add metadata support

Borislav Petkov
2022-11-11T16:17:00Z

On Mon, Nov 07, 2022 at 02:53:17PM -0800, Jithu Joseph wrote:
> diff --git a/drivers/platform/x86/intel/ifs/load.c b/drivers/platform/x86/intel/ifs/load.c
> index 89ce265887ea..60ba5a057f91 100644
> --- a/drivers/platform/x86/intel/ifs/load.c
> +++ b/drivers/platform/x86/intel/ifs/load.c
> @@ -44,6 +44,38 @@ static const char * const scan_authentication_status[] = {
> [2] = "Chunk authentication error. The hash of chunk did not match expected value"
> };
>
> +#define META_TYPE_END (0)

MC_HEADER_META_TYPE_END

> +
> +struct metadata_header {
> + unsigned int type;
> + unsigned int blk_size;
> +};
> +
> +static struct metadata_header *ifs_find_meta_data(void *ucode, unsigned int meta_type)

It's a static function - no need for the ifs_ prefix.

> +{
> + struct metadata_header *meta_header;
> + unsigned long data_size, total_meta;
> + unsigned long meta_size = 0;
> +
> + data_size = get_datasize(ucode);
> + total_meta = ((struct microcode_intel *)ucode)->hdr.metasize;
> +

^ Superfluous newline.

> + if (!total_meta)
> + return NULL;
> +
> + meta_header = (ucode + MC_HEADER_SIZE + data_size) - total_meta;
> +
> + while ((meta_header->type != META_TYPE_END) && meta_header->blk_size &&

You don't need the brackets.

> + meta_size < total_meta) {

And you can align all three conditions vertically for better readability:

while (meta_header->type != META_TYPE_END &&
meta_header->blk_size &&
meta_size < total_meta) {

...

--
Regards/Gruss,
Boris.