Executive brief
The Linux kernel's TPM (Trusted Platform Module) driver contains a code pattern that triggers debug warnings when certain kernel debugging features are enabled. The issue occurs in the SPI bus interface code path when the driver waits for TPM status changes. While not a functional security vulnerability, this can cause kernel warnings and potential system instability during development and testing with debugging enabled.
Technical details
This is a code quality fix rather than a security vulnerability. The root cause is that wait_event_interruptible_timeout() evaluates its condition after setting the task state to TASK_INTERRUPTIBLE, which violates the CONFIG_DEBUG_ATOMIC_SLEEP debug assertion when the condition check (wait_for_tpm_stat_cond()) calls mutex_lock() during SPI bus locking. The fix replaces the wait_event_interruptible_timeout() call with wait_woken(), which only sets task state after the condition has been checked, eliminating the debug warning. The change affects the TPM TIS core driver's wait_for_tpm_stat() function and applies to systems using IRQ-driven TPM status waiting (v4.19+).
Affected products
- Linux Linux kernel v4.19 and later
Timeline
- 2026-08-15: disclosed: Vulnerability published in NVD
- 2026-07-26: patched: Patch authored by Jarkko Sakkinen
- 2026-05-09: other: Upstream commit c0c9cfb3b75def8bf200a2d4db09015806acfeaf