On Wed, Oct 01, 2025 at 01:16:58AM +0300, Jarkko Sakkinen wrote:
> Overview
> ========
>
> Decouple TPM driver features relevant for Trenchboot and make tpm-buf
> robust and decoupled entity from the rest of driver. By doing this, code
> can be easily linked to the early boot code.
>
> Goals and scope
> ===============
>
> This patch set contains only changes, which are acceptable to mainline
> driver without existence Trenchboot feature.
>
> At the same the primary goal of the included is to make driver code
> robust enough to meet Trenchboot's requirements.
>
> These constraints should define a meaningful DoD for this patch set.
>
> v4:
> - PCR patch has been removed because it does not fly without Trenchboot
> context.
> v3:
> - I think 6.19 is a better goal for this and thus expanded the series to
> be a generic Trenchboot enablers series. This version also consolidates my two separate ongoing series.
> v2:
> - While including fixes from v1, this patch set has a refocus in order to
> do minimal changes to make code base more compatible Trenchboot.
>
> Jarkko Sakkinen (9):
> tpm: Cap the number of PCR banks
> tpm: Use -EPERM as fallback error code in tpm_ret_to_err
> KEYS: trusted: Use tpm_ret_to_err() in trusted_tpm2
> tpm2-sessions: Remove 'attributes' from tpm_buf_append_auth
> tpm2-sessions: Unmask tpm_buf_append_hmac_session()
> KEYS: trusted: Open code tpm2_buf_append()
> tpm-buf: check for corruption in tpm_buf_append_handle()
> tpm-buf: Remove chip parameter from tpm_buf_append_handle
> tpm-buf: Enable managed and stack allocations.
>
> drivers/char/tpm/tpm-buf.c | 141 ++++++----
> drivers/char/tpm/tpm-chip.c | 13 +-
> drivers/char/tpm/tpm-sysfs.c | 21 +-
> drivers/char/tpm/tpm.h | 2 -
> drivers/char/tpm/tpm1-cmd.c | 185 +++++--------
> drivers/char/tpm/tpm2-cmd.c | 313 ++++++++++------------
> drivers/char/tpm/tpm2-sessions.c | 129 +++++----
> drivers/char/tpm/tpm2-space.c | 44 ++-
> drivers/char/tpm/tpm_vtpm_proxy.c | 30 +--
> include/linux/tpm.h | 65 ++---
> security/keys/trusted-keys/trusted_tpm1.c | 34 ++-
> security/keys/trusted-keys/trusted_tpm2.c | 237 +++++++---------
> 12 files changed, 542 insertions(+), 672 deletions(-)
>
> --
> 2.39.5
>
I've done testing in sequence of the patch set for every patch by
running:
1. https://codeberg.org/jarkko/linux-tpmdd-test/src/branch/main/board/pc_x86_64/test_tpm2_kselftest.exp.in
2. https://codeberg.org/jarkko/linux-tpmdd-test/src/branch/main/board/pc_x86_64/test_tpm2_trusted.exp.in
I also separately booted for the managed allocations patch with
swtpm in TPM 1.2 mode and did some manual testing.
Changes have been tested with HMAC encryption on to make sure that
tpm2-sessions changes have beeen applied correctly.
BR, Jarkko