From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: Thorsten Leemhuis <regressions@leemhuis.info>,
James Bottomley <James.Bottomley@hansenpartnership.com>,
Peter Huewe <peterhuewe@gmx.de>,
Jarkko Sakkinen <jarkko@kernel.org>,
Jason Gunthorpe <jgg@ziepe.ca>, Jan Dabros <jsd@semihalf.com>,
regressions@lists.linux.dev, LKML <linux-kernel@vger.kernel.org>,
linux-integrity@vger.kernel.org,
Dominik Brodowski <linux@dominikbrodowski.net>,
Herbert Xu <herbert@gondor.apana.org.au>,
Johannes Altmanninger <aclopte@gmail.com>,
stable@vger.kernel.org, Vlastimil Babka <vbabka@suse.cz>,
tbroch@chromium.org, semenzato@chromium.org,
dbasehore@chromium.org, Kees Cook <keescook@chromium.org>
Subject: Re: [PATCH v2] tpm: Allow system suspend to continue when TPM suspend fails
Date: Fri, 6 Jan 2023 10:59:50 -0800 [thread overview]
Message-ID: <CAHk-=wjin0Rn6j+EvYV9pzrbA0G2xnHKdp_EAB6XnansQ8kpUA@mail.gmail.com> (raw)
In-Reply-To: <20230106030156.3258307-1-Jason@zx2c4.com>
On Thu, Jan 5, 2023 at 7:02 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>
> In lieu of actually fixing the underlying bug, just allow system suspend
> to continue, so that laptops still go to sleep fine. Later, this can be
> reverted when the real bug is fixed.
So the patch looks fine to me, but since there's still the ChromeOS
discussion pending I'll wait for that to finish.
Perhaps re-send or at least remind me if/when it does?
Also, a query about the printout:
> + if (rc)
> + pr_err("Unable to suspend tpm-%d (error %d), but continuing system suspend\n",
> + chip->dev_num, rc);
so I suspect that 99% of the time the dev_num isn't actually all that
useful, but what *might* be useful is which tpm driver it is.
Just comparing the error dmesg output you had:
..
tpm tpm0: Error (28) sending savestate before suspend
tpm_tis 00:08: PM: __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x80 returns 28
..
that "tpm tpm0" output is kind of useless compared to the "tpm_tis 00:08" one.
So I think "dev_err(dev, ...)" would be more useful here.
Finally - and maybe I'm just being difficult here, I will note here
again that TPM2 devices don't have this issue, because the TPM2 path
for suspend doesn't do any of this at all.
It just does
tpm_transmit_cmd(..);
with a TPM2_CC_SHUTDOWN TPM_SU_STATE command, and doesn't even check
the return value. In fact, the tpm2 code *used* to have this comment:
/* In places where shutdown command is sent there's no much we can do
* except print the error code on a system failure.
*/
if (rc < 0 && rc != -EPIPE)
dev_warn(&chip->dev, "transmit returned %d while
stopping the TPM",
rc);
but it was summarily removed when doing some re-organization around
buffer handling.
So just by looking at what tpm2 does, I'm not 100% convinced that tpm1
should do this dance at all.
But having a dev_err() is probably a good idea at least as a transitional thing.
Linus
next prev parent reply other threads:[~2023-01-06 19:07 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-28 20:22 [REGRESSION] suspend to ram fails in 6.2-rc1 due to tpm errors Vlastimil Babka
2022-12-28 23:07 ` James Bottomley
2022-12-29 4:03 ` Jason A. Donenfeld
2022-12-29 4:16 ` Jason A. Donenfeld
2023-01-05 13:59 ` Thorsten Leemhuis
2023-01-05 14:25 ` Vlastimil Babka
2023-01-05 14:47 ` [PATCH] tpm: Disable hwrng for TPM 1 if PM_SLEEP is enabled Jason A. Donenfeld
2023-01-05 14:53 ` Jason A. Donenfeld
2023-01-05 21:58 ` Linus Torvalds
2023-01-05 22:29 ` Jason A. Donenfeld
2023-01-06 3:01 ` [PATCH v2] tpm: Allow system suspend to continue when TPM suspend fails Jason A. Donenfeld
2023-01-06 16:01 ` Jason A. Donenfeld
[not found] ` <CAA25o9RGVbiXS6ne53gdM1K706zT=hm5c-KuMWrCA_CJtJDXdw@mail.gmail.com>
2023-01-06 17:16 ` Jason A. Donenfeld
2023-01-06 18:59 ` Linus Torvalds [this message]
2023-01-06 20:04 ` Luigi Semenzato
2023-01-06 22:28 ` Linus Torvalds
2023-01-09 16:05 ` Jason A. Donenfeld
2023-01-16 8:12 ` Jarkko Sakkinen
2023-01-16 14:03 ` Jason A. Donenfeld
2023-01-21 0:07 ` Jarkko Sakkinen
2023-01-16 11:44 ` Jarkko Sakkinen
2023-01-16 14:00 ` Vlastimil Babka
2023-01-21 0:03 ` Jarkko Sakkinen
2023-01-05 15:17 ` [REGRESSION] suspend to ram fails in 6.2-rc1 due to tpm errors James Bottomley
2023-01-05 15:27 ` Jason A. Donenfeld
2023-01-05 15:32 ` Jason A. Donenfeld
2023-01-09 16:08 ` Jason A. Donenfeld
2023-01-10 17:19 ` Vlastimil Babka
2023-01-20 23:47 ` Jarkko Sakkinen
2023-03-14 9:35 ` Thorsten Leemhuis
2023-03-14 12:19 ` Jarkko Sakkinen
2023-03-14 12:47 ` Jason A. Donenfeld
2023-03-14 13:05 ` Jarkko Sakkinen
2023-03-14 13:08 ` Jarkko Sakkinen
2023-03-14 13:53 ` Jason A. Donenfeld
2023-03-14 14:23 ` Jarkko Sakkinen
2023-04-21 15:03 ` Jarkko Sakkinen
2023-04-21 18:27 ` Jason A. Donenfeld
2023-04-23 15:34 ` Jarkko Sakkinen
2023-04-25 23:34 ` Jarkko Sakkinen
2023-04-26 1:32 ` Jason A. Donenfeld
2023-04-26 16:07 ` Jarkko Sakkinen
2023-04-26 17:00 ` Jarkko Sakkinen
2023-01-04 9:10 ` Johannes Altmanninger
2023-01-16 11:30 ` 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='CAHk-=wjin0Rn6j+EvYV9pzrbA0G2xnHKdp_EAB6XnansQ8kpUA@mail.gmail.com' \
--to=torvalds@linux-foundation.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=Jason@zx2c4.com \
--cc=aclopte@gmail.com \
--cc=dbasehore@chromium.org \
--cc=herbert@gondor.apana.org.au \
--cc=jarkko@kernel.org \
--cc=jgg@ziepe.ca \
--cc=jsd@semihalf.com \
--cc=keescook@chromium.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@dominikbrodowski.net \
--cc=peterhuewe@gmx.de \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
--cc=semenzato@chromium.org \
--cc=stable@vger.kernel.org \
--cc=tbroch@chromium.org \
--cc=vbabka@suse.cz \
/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).