[PATCH v8 0/2] Move TPM-specific fields out of trusted_key_options

Srish Srinivasan posted 2 patches 2 weeks, 1 day ago
There is a newer version of this series
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(-)
[PATCH v8 0/2] Move TPM-specific fields out of trusted_key_options
Posted by Srish Srinivasan 2 weeks, 1 day ago
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:

 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
Re: [PATCH v8 0/2] Move TPM-specific fields out of trusted_key_options
Posted by Jarkko Sakkinen 1 week ago
On Thu, Sep 10, 2026 at 01:22:30PM +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:
> 
>  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
> 

Thank you. Applied.

BR, Jarkko