linux-security-module.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: linux-integrity@vger.kernel.org
Cc: Ross Philipson <ross.philipson@oracle.com>,
	Jarkko Sakkinen <jarkko@kernel.org>,
	David Howells <dhowells@redhat.com>,
	Paul Moore <paul@paul-moore.com>,
	James Morris <jmorris@namei.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	keyrings@vger.kernel.org (open list:KEYS/KEYRINGS),
	linux-security-module@vger.kernel.org (open list:SECURITY
	SUBSYSTEM), linux-kernel@vger.kernel.org (open list)
Subject: [PATCH v5 00/12] Streamline TPM2 HMAC sessions
Date: Sat, 13 Dec 2025 22:32:07 +0200	[thread overview]
Message-ID: <20251213203220.317498-1-jarkko@kernel.org> (raw)

Since we cannot at this point cache names of the keys given limitations
of the ASN.1 file format, I'll start a fresh patch set. Let's fixup what
we can right now.

This patch set addresses two major issues in the feature:

1. Dynamic resolution without gain. All kernel sites have at most single
   handle to authorize. Even if this changes some day this is how it is
   as of today and we definitely do not want to dictate the future but
   instead downscale code to the metrics that we have as of today.
2. Eliminate at least one unnnecessary tpm2_read_public() call.

Change Log
==========

v5:
- I decided to add the managed allocation patch to this and take it from
  the master branch for the time being, as it needs more eyes despite
  having already one reviewed-by tag (especially tested-by tags).

Jarkko Sakkinen (12):
  KEYS: trusted: Open code tpm2_buf_append()
  KEYS: trusted: Remove dead branch from tpm2_unseal_cmd
  tpm2-sessions: Define TPM2_NAME_MAX_SIZE
  tpm-buf: Merge TPM_BUF_BOUNDARY_ERROR and TPM_BUF_OVERFLOW
  tpm-buf: Remove chip parameter from tpm_buf_append_handle
  tpm-buf: Implement managed allocations
  KEYS: trusted: Re-orchestrate tpm2_read_public() calls
  tpm2-sessions: Remove AUTH_MAX_NAMES
  tpm-buf: Remove tpm_buf_append_handle
  tpm: Orchestrate TPM commands in tpm_get_random()
  tpm: Send only one at most TPM2_GetRandom command
  tpm: In tpm_get_random() replace 'retries' with a zero check

 drivers/char/tpm/tpm-buf.c                | 154 ++++-----
 drivers/char/tpm/tpm-chip.c               |   2 +-
 drivers/char/tpm/tpm-interface.c          | 177 ++++++++++-
 drivers/char/tpm/tpm-sysfs.c              |  23 +-
 drivers/char/tpm/tpm.h                    |   3 -
 drivers/char/tpm/tpm1-cmd.c               | 198 ++++--------
 drivers/char/tpm/tpm2-cmd.c               | 371 +++++++---------------
 drivers/char/tpm/tpm2-sessions.c          | 272 ++++++----------
 drivers/char/tpm/tpm2-space.c             |  44 ++-
 drivers/char/tpm/tpm_vtpm_proxy.c         |  30 +-
 include/linux/tpm.h                       |  79 +++--
 security/keys/trusted-keys/trusted_tpm1.c |  44 +--
 security/keys/trusted-keys/trusted_tpm2.c | 341 ++++++++++----------
 13 files changed, 802 insertions(+), 936 deletions(-)

-- 
2.39.5


             reply	other threads:[~2025-12-13 20:32 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-13 20:32 Jarkko Sakkinen [this message]
2025-12-13 20:32 ` [PATCH v5 01/12] KEYS: trusted: Open code tpm2_buf_append() Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 02/12] KEYS: trusted: Remove dead branch from tpm2_unseal_cmd Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 03/12] tpm2-sessions: Define TPM2_NAME_MAX_SIZE Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 04/12] tpm-buf: Merge TPM_BUF_BOUNDARY_ERROR and TPM_BUF_OVERFLOW Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 05/12] tpm-buf: Remove chip parameter from tpm_buf_append_handle Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 06/12] tpm-buf: Implement managed allocations Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 07/12] KEYS: trusted: Re-orchestrate tpm2_read_public() calls Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 08/12] tpm2-sessions: Remove AUTH_MAX_NAMES Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 09/12] tpm-buf: Remove tpm_buf_append_handle Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 10/12] tpm: Orchestrate TPM commands in tpm_get_random() Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 11/12] tpm: Send only one at most TPM2_GetRandom command Jarkko Sakkinen
2025-12-13 20:32 ` [PATCH v5 12/12] tpm: In tpm_get_random() replace 'retries' with a zero check Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251213203220.317498-1-jarkko@kernel.org \
    --to=jarkko@kernel.org \
    --cc=dhowells@redhat.com \
    --cc=jmorris@namei.org \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=paul@paul-moore.com \
    --cc=ross.philipson@oracle.com \
    --cc=serge@hallyn.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).