Commit b2c505e0ae0b for kernel
commit b2c505e0ae0ba4b259cad56c87e630dfdf58dcb4
Merge: d6bbdb67a4b9 071aa806f00c
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Mon Oct 26 06:55:13 2026 -1000
Merge tag 'tpm-v7.4-rc1-rebased' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
Pull TPM updates from Jarkko Sakkinen:
"Features and Improvements:
- improve tpm_crb behaviour by putting the chip into an idle state
for each transmission. This improves firmware behavior as the
kernel now better cancels its state as if it had never touched it
in the first place.
- Drop a spurious (but harmless) wmb() from tpm_pm_resume().
- tpm_tis_i2c now requests the optional reset control and deasserts
it before communicating with the TPM.
- replace SIMPLE_DEV_PM_OPS with DEFINE_SIMPLE_DEV_PM_OPS across the
whole driver stack.
- Validate during driver initialization that no duplicate banks are
received. It's unlikely corruption but since it happening would
cause oops I decided to retain it as a sanity check.
Bug fixes:
- tpm2_probe() misinterpreted a transport error on TPM2_GetCapability
as the chip not being probed, and the chip was detected as a TPM 1
chip.
This can happen in reality only in the extremely rare case of bus
corruption. Despite the odds, a fix was landed, as it is still
technically a legit bug fix.
- It is not really worth the time and energy to go into details as
tpm_nsc is a somewhat legacy driver, but one null pointer
dereference bug and another causing use-after-free were fixed.
- read() of /dev/tpm{,rm}0 with zero size caused a pending response
to be consumed. Just return immediately"
* tag 'tpm-v7.4-rc1-rebased' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
tpm: reject duplicate PCR banks in tpm2_get_pcr_allocation
tpm: use DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr()
char: tpm: Use SIMPLE_DEV_PM_OPS for ibmvtpm power management
tpm: tis_i2c: Deassert optional reset line before probing
tpm: Remove ineffective wmb() from tpm_pm_resume()
tpm: Call cmd_ready/go_idle for each command transmission
tpm: fix zero-length read discarding the pending response
tpm: tpm_nsc: stop using the cleanup callback as dev.release
tpm: tpm_nsc: fix NULL pointer dereference on init failure
tpm: tpm2_probe: propagate transport errors