cmd: tpm: Fix attempt to return value not in enum
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Mon, 30 Jun 2025 10:23:39 +0000 (11:23 +0100)
committerIlias Apalodimas <ilias.apalodimas@linaro.org>
Tue, 1 Jul 2025 05:46:38 +0000 (08:46 +0300)
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.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/tpm-v2.h

index ece422d..f3eb2ef 100644 (file)
@@ -20,6 +20,7 @@
 #define __TPM_V2_H
 
 #include <tpm-common.h>
+#include <linux/errno.h>
 
 struct udevice;
 
@@ -266,6 +267,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,