[PATCH] cmd: tpm: Fix attempt to return value not in enum
Ilias Apalodimas
ilias.apalodimas at linaro.org
Fri Jun 27 10:52:38 CEST 2025
Hi Andrew,
On Thu, 26 Jun 2025 at 12:57, Andrew Goodbody
<andrew.goodbody at linaro.org> wrote:
>
> The function tpm2_name_to_algorithm is defined as returning an
> enum for the algorithm specified but it also attempts to return
> an error on failure, but that error is not included in the enum.
> Add the error to the enum so that it can be returned.
>
> This issue was reported by Smatch.
>
> Fixes: 954b95e77ef0 (tpm-v2: add support for mapping algorithm names to algos)
This doesn't really fix a bug so please drop this.
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
The change itself is fine , but can you also change the callsites to
return TPM2_ALG_INVAL instead of -EINVAL?
Thanks
/Ilias
> ---
> cmd/tpm-v1.c | 1 +
> cmd/tpm_test.c | 1 +
> drivers/tpm/sandbox_common.c | 1 +
> include/tpm-v2.h | 1 +
> 4 files changed, 4 insertions(+)
>
> diff --git a/cmd/tpm-v1.c b/cmd/tpm-v1.c
> index 6e019d1c729..25402f7543b 100644
> --- a/cmd/tpm-v1.c
> +++ b/cmd/tpm-v1.c
> @@ -8,6 +8,7 @@
> #include <malloc.h>
> #include <vsprintf.h>
> #include <asm/unaligned.h>
> +#include <linux/errno.h>
> #include <tpm-common.h>
> #include <tpm-v1.h>
> #include "tpm-user-utils.h"
> diff --git a/cmd/tpm_test.c b/cmd/tpm_test.c
> index af83d78c3fe..1d9644d5aae 100644
> --- a/cmd/tpm_test.c
> +++ b/cmd/tpm_test.c
> @@ -7,6 +7,7 @@
> #include <cpu_func.h>
> #include <log.h>
> #include <time.h>
> +#include <linux/errno.h>
> #include <tpm-v1.h>
> #include <linux/printk.h>
> #include "tpm-user-utils.h"
> diff --git a/drivers/tpm/sandbox_common.c b/drivers/tpm/sandbox_common.c
> index 596e0156389..4bc003a2c09 100644
> --- a/drivers/tpm/sandbox_common.c
> +++ b/drivers/tpm/sandbox_common.c
> @@ -7,6 +7,7 @@
>
> #define LOG_CATEGORY UCLASS_TPM
>
> +#include <linux/errno.h>
> #include <tpm-v1.h>
> #include <tpm-v2.h>
> #include <asm/unaligned.h>
> diff --git a/include/tpm-v2.h b/include/tpm-v2.h
> index ece422df0c7..6c516dd3c9b 100644
> --- a/include/tpm-v2.h
> +++ b/include/tpm-v2.h
> @@ -266,6 +266,7 @@ enum tpm2_return_codes {
> * TPM2 algorithms.
> */
> enum tpm2_algorithms {
> + TPM2_ALG_INVAL = -EINVAL,
> TPM2_ALG_SHA1 = 0x04,
> TPM2_ALG_XOR = 0x0A,
> TPM2_ALG_SHA256 = 0x0B,
>
> ---
> base-commit: 903eb123236ccbd8ef05d43507a2a910b785bd56
> change-id: 20250625-tpm_enum-098ee9a5eb6b
>
> Best regards,
> --
> Andrew Goodbody <andrew.goodbody at linaro.org>
>
More information about the U-Boot
mailing list