include/keys/trusted-type.h | 11 -- include/keys/trusted_tpm.h | 14 +++ security/keys/trusted-keys/trusted_tpm1.c | 125 ++++++++++++---------- security/keys/trusted-keys/trusted_tpm2.c | 50 +++++---- 4 files changed, 113 insertions(+), 87 deletions(-)
struct trusted_key_options contains fields that are specific to the TPM
trusted source, resulting in the accumulation backend-specific fields in
the generic options structure.
Move the TPM-specific fields into a new struct trusted_key_tpm and store a
pointer to it in the private member of struct trusted_key_options.
As a preparatory change, return immediately after a TPM unseal failure to
prevent pcrlock() from overwriting the unseal error.
Changelog:
v9:
- Resent the full patch set with consistent v9 subject prefix
- Corrected patch 1/2, which was sent as v3 in v8, which caused b4 to
flag the series as incomplete
v8:
- Rebase onto commit
adc6a9f6d997 ("KEYS: trusted: Fix tpm2_load_cmd() boundary check")
to resolve the merge conflicts
- Include Jarkko's Reviewed-by tag
v7:
- Fix a memory leak in the preparatory fix
v6:
- Add a preparatory fix to return immediately after a TPM unseal failure
- Replace explicit cleanup with __free(kfree_sensitive) in the TPM seal
and unseal paths, as suggested by Jarkko
v5:
- Rename struct trusted_tpm_options to struct trusted_key_tpm, as
suggestedby Jarkko.
v4:
- Rebased onto mainline after tpm-buf memory-safe allocation changes were
merged
- Resolved the resulting merge conflicts
v3:
- Exclude the preparatory clean up patch as the problem has been
addressed in commit
9ec4175a30eb ("KEYS: trusted: Debugging as a feature")
v2:
- Exclude the bug-fix patch as it has already been applied to 6.19-rc7
- Rename instances of trusted_tpm_options from tpm_opts to private
- Use pr_debug and KERN_DEBUG for logging debug messages (preparatory
clean up patch)
- Address other minor comments from Jarkko
Srish Srinivasan (2):
keys/trusted_keys: return immediately after TPM unseal failure
keys/trusted_keys: move TPM-specific fields into struct
trusted_key_tpm
include/keys/trusted-type.h | 11 --
include/keys/trusted_tpm.h | 14 +++
security/keys/trusted-keys/trusted_tpm1.c | 125 ++++++++++++----------
security/keys/trusted-keys/trusted_tpm2.c | 50 +++++----
4 files changed, 113 insertions(+), 87 deletions(-)
--
2.53.0
On Sat, Sep 12, 2026 at 11:59:48AM +0530, Srish Srinivasan wrote:
> struct trusted_key_options contains fields that are specific to the TPM
> trusted source, resulting in the accumulation backend-specific fields in
> the generic options structure.
>
> Move the TPM-specific fields into a new struct trusted_key_tpm and store a
> pointer to it in the private member of struct trusted_key_options.
>
> As a preparatory change, return immediately after a TPM unseal failure to
> prevent pcrlock() from overwriting the unseal error.
>
> Changelog:
>
> v9:
> - Resent the full patch set with consistent v9 subject prefix
> - Corrected patch 1/2, which was sent as v3 in v8, which caused b4 to
> flag the series as incomplete
>
> v8:
> - Rebase onto commit
> adc6a9f6d997 ("KEYS: trusted: Fix tpm2_load_cmd() boundary check")
> to resolve the merge conflicts
> - Include Jarkko's Reviewed-by tag
>
> v7:
> - Fix a memory leak in the preparatory fix
>
> v6:
> - Add a preparatory fix to return immediately after a TPM unseal failure
> - Replace explicit cleanup with __free(kfree_sensitive) in the TPM seal
> and unseal paths, as suggested by Jarkko
>
> v5:
> - Rename struct trusted_tpm_options to struct trusted_key_tpm, as
> suggestedby Jarkko.
>
> v4:
> - Rebased onto mainline after tpm-buf memory-safe allocation changes were
> merged
> - Resolved the resulting merge conflicts
>
> v3:
> - Exclude the preparatory clean up patch as the problem has been
> addressed in commit
> 9ec4175a30eb ("KEYS: trusted: Debugging as a feature")
>
> v2:
> - Exclude the bug-fix patch as it has already been applied to 6.19-rc7
> - Rename instances of trusted_tpm_options from tpm_opts to private
> - Use pr_debug and KERN_DEBUG for logging debug messages (preparatory
> clean up patch)
> - Address other minor comments from Jarkko
>
> Srish Srinivasan (2):
> keys/trusted_keys: return immediately after TPM unseal failure
> keys/trusted_keys: move TPM-specific fields into struct
> trusted_key_tpm
>
> include/keys/trusted-type.h | 11 --
> include/keys/trusted_tpm.h | 14 +++
> security/keys/trusted-keys/trusted_tpm1.c | 125 ++++++++++++----------
> security/keys/trusted-keys/trusted_tpm2.c | 50 +++++----
> 4 files changed, 113 insertions(+), 87 deletions(-)
>
> --
> 2.53.0
>
I applied v8 already. Please check from my tree whether this needs
reapplying or not.
BR, Jarkko
On 9/18/26 7:42 AM, Jarkko Sakkinen wrote:
> On Sat, Sep 12, 2026 at 11:59:48AM +0530, Srish Srinivasan wrote:
>> struct trusted_key_options contains fields that are specific to the TPM
>> trusted source, resulting in the accumulation backend-specific fields in
>> the generic options structure.
>>
>> Move the TPM-specific fields into a new struct trusted_key_tpm and store a
>> pointer to it in the private member of struct trusted_key_options.
>>
>> As a preparatory change, return immediately after a TPM unseal failure to
>> prevent pcrlock() from overwriting the unseal error.
>>
>> Changelog:
>>
>> v9:
>> - Resent the full patch set with consistent v9 subject prefix
>> - Corrected patch 1/2, which was sent as v3 in v8, which caused b4 to
>> flag the series as incomplete
>>
>> v8:
>> - Rebase onto commit
>> adc6a9f6d997 ("KEYS: trusted: Fix tpm2_load_cmd() boundary check")
>> to resolve the merge conflicts
>> - Include Jarkko's Reviewed-by tag
>>
>> v7:
>> - Fix a memory leak in the preparatory fix
>>
>> v6:
>> - Add a preparatory fix to return immediately after a TPM unseal failure
>> - Replace explicit cleanup with __free(kfree_sensitive) in the TPM seal
>> and unseal paths, as suggested by Jarkko
>>
>> v5:
>> - Rename struct trusted_tpm_options to struct trusted_key_tpm, as
>> suggestedby Jarkko.
>>
>> v4:
>> - Rebased onto mainline after tpm-buf memory-safe allocation changes were
>> merged
>> - Resolved the resulting merge conflicts
>>
>> v3:
>> - Exclude the preparatory clean up patch as the problem has been
>> addressed in commit
>> 9ec4175a30eb ("KEYS: trusted: Debugging as a feature")
>>
>> v2:
>> - Exclude the bug-fix patch as it has already been applied to 6.19-rc7
>> - Rename instances of trusted_tpm_options from tpm_opts to private
>> - Use pr_debug and KERN_DEBUG for logging debug messages (preparatory
>> clean up patch)
>> - Address other minor comments from Jarkko
>>
>> Srish Srinivasan (2):
>> keys/trusted_keys: return immediately after TPM unseal failure
>> keys/trusted_keys: move TPM-specific fields into struct
>> trusted_key_tpm
>>
>> include/keys/trusted-type.h | 11 --
>> include/keys/trusted_tpm.h | 14 +++
>> security/keys/trusted-keys/trusted_tpm1.c | 125 ++++++++++++----------
>> security/keys/trusted-keys/trusted_tpm2.c | 50 +++++----
>> 4 files changed, 113 insertions(+), 87 deletions(-)
>>
>> --
>> 2.53.0
>>
> I applied v8 already. Please check from my tree whether this needs
> reapplying or not.
Hi Jarkko,
There is no functional change between v8 and v9.
As per
https://lore.kernel.org/all/aqR1vX9u209mCHsq@kernel.org/#:~:text=ERROR%3A%20missing%20%5B1/2%5D!
v8 did not apply cleanly as I got the versioning for patch 1/2 wrong.
I fixed that problem in v9.
>
> BR, Jarkko
Thanks,
Srish.
© 2016 - 2026 Red Hat, Inc.