Re: [PATCH v2 2/4] tpm: do not ignore memblock_reserve return value
From: Ard Biesheuvel
Date: Mon Sep 16 2024 - 04:30:11 EST
(cc Dave)
On Sat, 14 Sept 2024 at 15:26, Gregory Price <gourry@xxxxxxxxxx> wrote:
>
> tpm code currently ignores a relevant failure case silently.
> Add an error to make this failure non-silent.
>
> Signed-off-by: Gregory Price <gourry@xxxxxxxxxx>
> ---
> drivers/firmware/efi/tpm.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/tpm.c b/drivers/firmware/efi/tpm.c
> index 9c3613e6af15..b0cc2cc11d7e 100644
> --- a/drivers/firmware/efi/tpm.c
> +++ b/drivers/firmware/efi/tpm.c
> @@ -61,7 +61,12 @@ int __init efi_tpm_eventlog_init(void)
> }
>
> tbl_size = sizeof(*log_tbl) + log_tbl->size;
> - memblock_reserve(efi.tpm_log, tbl_size);
> + if (memblock_reserve(efi.tpm_log, tbl_size)) {
> + pr_err("TPM Event Log memblock reserve fails (0x%lx, 0x%x)\n",
> + efi.tpm_log, tbl_size);
> + ret = -ENOMEM;
> + goto out;
> + }
>
Given the discussion in the other thread, I wonder if this should be
efi_mem_reserve() instead - might as well fix that too.
Dave?