From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Alexander Steffen <Alexander.Steffen@infineon.com>
Cc: Stephen Boyd <swboyd@chromium.org>,
Jason Gunthorpe <jgg@ziepe.ca>, Peter Huewe <peterhuewe@gmx.de>,
linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-integrity@vger.kernel.org,
Andrey Pronin <apronin@chromium.org>,
Duncan Laurie <dlaurie@chromium.org>,
Guenter Roeck <groeck@chromium.org>,
Herbert Xu <herbert@gondor.apana.org.au>
Subject: Re: [PATCH v2 1/6] hwrng: core: Freeze khwrng thread during suspend
Date: Sat, 17 Aug 2019 02:55:32 +0300 [thread overview]
Message-ID: <20190816235532.zwctk56harregq7x@linux.intel.com> (raw)
In-Reply-To: <d72750b9-38b8-172f-8902-427fcc3d0a5d@infineon.com>
On Fri, Aug 16, 2019 at 05:56:12PM +0200, Alexander Steffen wrote:
> > Andrey talked to me a little about this today. Andrey would prefer we
> > don't just let the TPM go into a wonky state if it's used during
> > suspend/resume so that it can stay resilient to errors. Sounds OK to me,
> > but my point still stands that we need to fix the callers.
> >
> > I'll resurrect the IS_SUSPENDED flag and make it set generically by the
> > tpm_pm_suspend() and tpm_pm_resume() functions and then spit out a big
> > WARN_ON() and return an error value like -EAGAIN if the TPM functions
> > are called when the TPM is suspended. I hope we don't hit the warning
> > message, but if we do then at least we can track it down rather quickly
> > and figure out how to fix the caller instead of just silently returning
> > -EAGAIN and hoping for that to be visible to the user.
>
> There is another use case I see for this functionality: There are ways for
> user space to upgrade the TPM's firmware via /dev/tpm0 (using e.g.
> TPM2_FieldUpgradeStart/TPM2_FieldUpgradeData). While upgrading, the normal
> TPM functionality might not be available (commands return TPM_RC_UPGRADE or
> other error codes). Even after the upgrade is finished, the TPM might
> continue to refuse command execution (e.g. with TPM_RC_REBOOT).
>
> I'm not sure whether all in-kernel users are prepared to deal correctly with
> those error codes. But even if they are, it might be better to block them
> from sending commands in the first place, to not interfere with the upgrade
> process.
>
> What would you think about a way for a user space upgrade tool to also set
> this flag, to make the TPM unavailable for everything but the upgrade
> process?
>
> Alexander
NOTE: Just commenting the FW use case.
I don't like it because it contains variable amount of reserved time
for a hardware resource.
Right now a user thread gets a lease of one TPM command for /dev/tpm0
and that is how I would like to keep it.
/Jarkko
next prev parent reply other threads:[~2019-08-16 23:55 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-16 22:45 [PATCH v2 0/6] tpm: Add driver for cr50 Stephen Boyd
2019-07-16 22:45 ` [PATCH v2 1/6] hwrng: core: Freeze khwrng thread during suspend Stephen Boyd
2019-07-17 1:43 ` Herbert Xu
2019-07-17 16:36 ` Stephen Boyd
2019-07-17 11:39 ` Jason Gunthorpe
2019-07-17 16:42 ` Stephen Boyd
2019-07-17 16:50 ` Jason Gunthorpe
2019-07-17 17:03 ` Stephen Boyd
2019-08-02 22:50 ` Stephen Boyd
2019-08-16 15:56 ` Alexander Steffen
2019-08-16 23:55 ` Jarkko Sakkinen [this message]
2019-08-02 20:22 ` Jarkko Sakkinen
2019-08-02 23:18 ` Stephen Boyd
2019-07-16 22:45 ` [PATCH v2 2/6] tpm_tis_core: add optional max xfer size check Stephen Boyd
2019-07-16 22:45 ` [PATCH v2 3/6] tpm_tis_spi: add max xfer size Stephen Boyd
2019-07-17 8:07 ` Alexander Steffen
2019-07-17 18:19 ` Stephen Boyd
2019-07-16 22:45 ` [PATCH v2 4/6] dt-bindings: tpm: document properties for cr50 Stephen Boyd
2019-07-16 22:45 ` [PATCH v2 5/6] tpm: add driver for cr50 on SPI Stephen Boyd
2019-07-17 12:00 ` Alexander Steffen
2019-07-17 12:25 ` Jason Gunthorpe
2019-07-17 16:49 ` Stephen Boyd
2019-07-17 16:56 ` Jason Gunthorpe
2019-07-17 17:05 ` Stephen Boyd
2019-07-17 17:12 ` Jason Gunthorpe
2019-07-17 17:22 ` Stephen Boyd
2019-07-17 17:25 ` Jason Gunthorpe
2019-07-17 18:21 ` Stephen Boyd
2019-07-17 18:30 ` Guenter Roeck
2019-07-17 18:36 ` Jason Gunthorpe
2019-07-17 19:57 ` Stephen Boyd
2019-07-17 21:38 ` Stephen Boyd
2019-07-17 22:17 ` Stephen Boyd
2019-07-18 16:47 ` Alexander Steffen
2019-07-18 18:11 ` Stephen Boyd
2019-07-19 7:53 ` Alexander Steffen
2019-08-01 16:02 ` Stephen Boyd
2019-08-02 15:21 ` Jarkko Sakkinen
2019-08-02 18:03 ` Stephen Boyd
2019-08-02 19:43 ` Jarkko Sakkinen
2019-07-18 16:47 ` Alexander Steffen
2019-07-18 18:07 ` Stephen Boyd
2019-07-19 7:51 ` Alexander Steffen
2019-08-02 20:43 ` Jarkko Sakkinen
2019-08-02 22:32 ` Stephen Boyd
2019-08-02 20:41 ` Jarkko Sakkinen
2019-07-16 22:45 ` [PATCH v2 6/6] tpm: Add driver for cr50 on I2C Stephen Boyd
2019-07-17 15:19 ` Alexander Steffen
2019-08-05 23:52 ` Stephen Boyd
2019-08-02 20:44 ` 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=20190816235532.zwctk56harregq7x@linux.intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=Alexander.Steffen@infineon.com \
--cc=apronin@chromium.org \
--cc=arnd@arndb.de \
--cc=dlaurie@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=groeck@chromium.org \
--cc=herbert@gondor.apana.org.au \
--cc=jgg@ziepe.ca \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterhuewe@gmx.de \
--cc=swboyd@chromium.org \
/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).