Re: [PATCH v2] tpm: restore timeout for key creation commands
From: Zhang, Baoli
Date: Thu May 07 2026 - 01:36:52 EST
On 5/4/2026 11:13 PM, Jarkko Sakkinen wrote:
On Tue, Apr 21, 2026 at 08:50:20AM +0800, Baoli Zhang wrote:Hi Jarkko, this is indeed a production case. We discovered this issue during validation testing for the sustaining release.
From: "Baoli Zhang" <baoli.zhang@xxxxxxxxxxxxxxx>Is this a production case?
Commit 207696b17f38 ("tpm: use a map for tpm2_calc_ordinal_duration()")
inadvertently reduced the timeout for TPM2 key creation commands
(`CREATE_PRIMARY`, `CREATE`, `CREATE_LOADED`) from 300 seconds to 30
seconds.
This causes intermittent timeout failures, with several failures observed
across hundreds of test runs on some Intel platforms using Infineon
SLB9670 and SLB9672 TPM modules. Restore the timeout to 300 seconds to
avoid spurious failures.
I'm not sure if there is anything to fix tbh. I mean it is
pretty much the same as "maintaining compatibility to OTT driver"
to addresses issues on undisclosed hardware.
Please correct me if I'm wrong. Otherwise, I'd carry out internal patch
to tweak this for pre-production hardware (presumably).
Fixes: 207696b17f38 ("tpm: use a map for tpm2_calc_ordinal_duration()")BR, Jarkko
Co-developed-by: Lili Li <lili.li@xxxxxxxxx>
Signed-off-by: Lili Li <lili.li@xxxxxxxxx>
Signed-off-by: Baoli Zhang <baoli.zhang@xxxxxxxxxxxxxxx>
---
Changes in v2:
- Add description of intermittent nature of the timeout issue.
- Fix Co-developed-by and Signed-off-by tag ordering.
v1: https://patchwork.kernel.org/project/linux-integrity/patch/20260410014940.3557934-1-baoli.zhang@xxxxxxxxxxxxxxx/
drivers/char/tpm/tpm2-cmd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
index 3a77be7ebf4aa..430022f695f24 100644
--- a/drivers/char/tpm/tpm2-cmd.c
+++ b/drivers/char/tpm/tpm2-cmd.c
@@ -71,9 +71,9 @@ static const struct {
{TPM2_CC_HIERARCHY_CHANGE_AUTH, 2000},
{TPM2_CC_GET_CAPABILITY, 750},
{TPM2_CC_NV_READ, 2000},
- {TPM2_CC_CREATE_PRIMARY, 30000},
- {TPM2_CC_CREATE, 30000},
- {TPM2_CC_CREATE_LOADED, 30000},
+ {TPM2_CC_CREATE_PRIMARY, 300000},
+ {TPM2_CC_CREATE, 300000},
+ {TPM2_CC_CREATE_LOADED, 300000},
};
/**
--
2.43.0