KEYS: trusted: Use tpm_ret_to_err() in trusted_tpm2

Use tpm_ret_to_err() to transmute TPM return codes in trusted_tpm2.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@opinsys.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
This commit is contained in:
Jarkko Sakkinen 2025-09-30 16:06:51 +03:00 committed by Jarkko Sakkinen
parent 7fcf459ac8
commit 09b71a58ee
1 changed files with 7 additions and 19 deletions

View File

@ -333,25 +333,19 @@ int tpm2_seal_trusted(struct tpm_chip *chip,
} }
blob_len = tpm2_key_encode(payload, options, &buf.data[offset], blob_len); blob_len = tpm2_key_encode(payload, options, &buf.data[offset], blob_len);
if (blob_len < 0)
rc = blob_len;
out: out:
tpm_buf_destroy(&sized); tpm_buf_destroy(&sized);
tpm_buf_destroy(&buf); tpm_buf_destroy(&buf);
if (rc > 0) { if (!rc)
if (tpm2_rc_value(rc) == TPM2_RC_HASH)
rc = -EINVAL;
else
rc = -EPERM;
}
if (blob_len < 0)
rc = blob_len;
else
payload->blob_len = blob_len; payload->blob_len = blob_len;
out_put: out_put:
tpm_put_ops(chip); tpm_put_ops(chip);
return rc; return tpm_ret_to_err(rc);
} }
/** /**
@ -455,10 +449,7 @@ static int tpm2_load_cmd(struct tpm_chip *chip,
out: out:
tpm_buf_destroy(&buf); tpm_buf_destroy(&buf);
if (rc > 0) return tpm_ret_to_err(rc);
rc = -EPERM;
return rc;
} }
/** /**
@ -521,8 +512,6 @@ static int tpm2_unseal_cmd(struct tpm_chip *chip,
tpm_buf_fill_hmac_session(chip, &buf); tpm_buf_fill_hmac_session(chip, &buf);
rc = tpm_transmit_cmd(chip, &buf, 6, "unsealing"); rc = tpm_transmit_cmd(chip, &buf, 6, "unsealing");
rc = tpm_buf_check_hmac_response(chip, &buf, rc); rc = tpm_buf_check_hmac_response(chip, &buf, rc);
if (rc > 0)
rc = -EPERM;
if (!rc) { if (!rc) {
data_len = be16_to_cpup( data_len = be16_to_cpup(
@ -555,7 +544,7 @@ static int tpm2_unseal_cmd(struct tpm_chip *chip,
out: out:
tpm_buf_destroy(&buf); tpm_buf_destroy(&buf);
return rc; return tpm_ret_to_err(rc);
} }
/** /**
@ -587,6 +576,5 @@ int tpm2_unseal_trusted(struct tpm_chip *chip,
out: out:
tpm_put_ops(chip); tpm_put_ops(chip);
return tpm_ret_to_err(rc);
return rc;
} }