tpm2-util: Align tpm2_import with tpm2_load to report on foreign keys

When we encounter a key for a foreign TPM we report that as EREMOTE in
tpm2_load but not yet in tpm2_import. This causes cryptsetup to give up
on using the TPM instead of being able to continue with out tokens.
Do the same mapping as in tpm2_load in tpm2_import to report EREMOTE on
foreign keys.

(cherry picked from commit 93bc6a3415)
(cherry picked from commit 793efd3553)
(cherry picked from commit 87da838051)
(cherry picked from commit fd5221a9ea)
This commit is contained in:
Kai Lüke authored and Luca Boccassi committed 2026-07-24 10:49:56 +01:00
1 parent dbacc324fc
commit 2cd7161fd6
1 file changed
+3
+3
View File
@@ -2460,6 +2460,9 @@ static int tpm2_import(
seed,
symmetric ?: &(TPMT_SYM_DEF_OBJECT){ .algorithm = TPM2_ALG_NULL, },
ret_private);
if ((rc & ~(TPM2_RC_N_MASK|TPM2_RC_P)) == TPM2_RC_INTEGRITY) /* Return a recognizable error if this key does not belong to the local TPM */
return log_debug_errno(SYNTHETIC_ERRNO(EREMOTE),
"Key invalid or does not belong to current TPM.");
if (rc != TSS2_RC_SUCCESS)
return log_debug_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
"Failed to import key into TPM: %s", sym_Tss2_RC_Decode(rc));