Re: [PATCH] tpm: tpm_tis_spi: Use wait_woken() in wait_for_tmp_stat()

Jarkko Sakkinen <[email protected]>
Newsgroups org.kernel.vger.linux-integrity,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <[email protected]>
On Mon, May 11, 2026 at 10:10:21AM +0200, Linus Walleij wrote:
> On Sat, May 9, 2026 at 8:51 PM Jarkko Sakkinen <[email protected]> wrote:
> 
> > wait_event_interruptible_timeout() evaluates its condition after setting
> > the current task state to TASK_INTERRUPTIBLE.
> >
> > With CONFIG_DEBUG_ATOMIC_SLEEP this triggers a warning when the IRQ wait
> > path is used:
> >
> >     tpm_tis_status()
> >       tpm_tis_spi_read_bytes()
> >         tpm_tis_spi_transfer_full()
> >           spi_bus_lock()
> >             mutex_lock()
> >
> > Address this with the following measures:
> >
> > 1. Call wait_tpm_stat_cond() only while tasking is running.
> > 2. Use wait_woken() to wait for changes.
> >
> > Cc: [email protected] # v4.19+
> > Cc: Linus Walleij <[email protected]>
> > Reported-by: Stefan Wahren <[email protected]>
> > Closes: https://lore.kernel.org/linux-integrity/[email protected]/
> > Fixes: 1a339b658d9d ("tpm_tis_spi: Pass the SPI IRQ down to the driver")
> > Signed-off-by: Jarkko Sakkinen <[email protected]>
> > ---
> > Linus' change only unmasked a pre-existing bug but it is the change
> > realizes it in tpm_tis_spi.
> 
> Took me a while to understand this but looks right to me!
> Reviewed-by: Linus Walleij <[email protected]>

Thank you.

> 
> Yours,
> Linus Walleij

BR, Jarkko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.