ACK: [PATCH] acpi: tpm2: add check for zero control area address (LP: #1506442)

ivanhu ivan.hu at canonical.com
Wed Oct 21 02:52:51 UTC 2015



On 2015年10月15日 19:41, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> The kernel checks for zero addresses because of some AMI BIOS bugs
> setting this to zero, so we should probably check for this too.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>   src/acpi/tpm2/tpm2.c | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/src/acpi/tpm2/tpm2.c b/src/acpi/tpm2/tpm2.c
> index 50a0e85..fbbb6fa 100644
> --- a/src/acpi/tpm2/tpm2.c
> +++ b/src/acpi/tpm2/tpm2.c
> @@ -1,7 +1,7 @@
>   /*
>    * Copyright (C) 2010-2015 Canonical
>    *
> -  * This program is free software; you can redistribute it and/or
> + * This program is free software; you can redistribute it and/or
>    * modify it under the terms of the GNU General Public License
>    * as published by the Free Software Foundation; either version 2
>    * of the License, or (at your option) any later version.
> @@ -74,6 +74,18 @@ static int tpm2_test1(fwts_framework *fw)
>   			"TPM2's Start Method must be between one to eight, got 0x%" PRIx16,
>   			tpm2->start_method);
>   	}
> +	/*
> +	 * Kernel: drivers/char/tpm/tpm_crb.c checks for a zero address for
> +	 * the control area because some versions of AMI BIOS have a bug where
> +	 * this address is zero and the kernel driver aborts on this.
> +         */
> +	if (!tpm2->address_of_control_area) {
> +		passed = false;
> +		fwts_failed(fw, LOG_LEVEL_HIGH,
> +			"TPM2BadControlAreaAddress",
> +			"TPM2's Control Area Address is expected to be non-zero, got 0x%16.16" PRIx64,
> +			tpm2->address_of_control_area);
> +	}
>   
>   	if (tpm2->start_method == 2 && table->length != sizeof(fwts_acpi_table_tpm2) + 4) {
>   		passed = false;

Acked-by: Ivan Hu <ivan.hu at canonical.com>




More information about the fwts-devel mailing list