[GIT PULL] TPM DEVICE DRIVER: tpmdd-next-v6.18-2

Jarkko Sakkinen
2025-10-10T05:34:59Z

The following changes since commit 5472d60c129f75282d94ae5ad072ee6dfb7c7246:

Merge tag 'trace-v6.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace (2025-10-09 12:18:22 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git tags/tpmdd-next-v6.18-2

for you to fetch changes up to a29ad21b988652dc60aa99c6d3b1e3d52dc69c30:

tpm: Prevent local DOS via tpm/tpm0/ppi/*operations (2025-10-10 08:21:45 +0300)

----------------------------------------------------------------
Hi,

Round #2.

O_EXCL patches will be postponed to 6.19 as they need some restructuring.
E.g., there's in-between series regression breaking the user space as lack
of O_EXCL flag handling causes obviously unconditional O_EXCL.

As per Chris' feedback, commands fail because it is based on Google's a
non-standard proprietary TPM alike implementation. And the issue is not
PC Client Profile specific. "typical profiles" are fine when they become
"typical profiles".

The null key can be verified with vendor certificate tied keys, and there's
challenge-response process using them for certifying any other key by a
remote party.

Performance hit on generation aside, if really starting to cut hairs null
keys are the most secure option, and it's a non-debatable fact: they have
shortest expiration times as seed changes per power cycle.

Based on this TCG_TPM2_HMAC is disabled from defconfig exactly for the sake
of the performance issues.

BR, Jarkko

----------------------------------------------------------------
Denis Aleksandrov (1):
tpm: Prevent local DOS via tpm/tpm0/ppi/*operations

Eric Biggers (2):
tpm: Compare HMAC values in constant time
tpm: Use HMAC-SHA256 library instead of open-coded HMAC

Gunnar Kudrjavets (1):
tpm_tis: Fix incorrect arguments in tpm_tis_probe_irq_single

Jarkko Sakkinen (2):
tpm: Disable TPM2_TCG_HMAC by default
tpm: use a map for tpm2_calc_ordinal_duration()

drivers/char/tpm/Kconfig | 3 +-
drivers/char/tpm/tpm-interface.c | 2 +-
drivers/char/tpm/tpm.h | 2 +-
drivers/char/tpm/tpm2-cmd.c | 127 ++++++++++-----------------------------
drivers/char/tpm/tpm2-sessions.c | 104 +++++++++-----------------------
drivers/char/tpm/tpm_ppi.c | 89 ++++++++++++++++++++-------
drivers/char/tpm/tpm_tis_core.c | 4 +-
include/linux/tpm.h | 5 +-
8 files changed, 137 insertions(+), 199 deletions(-)