From: "Daniel P. Smith" <dpsmith@apertussolutions.com> To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>, Quan Xu <quan.xu0@gmail.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Samuel Thibault <samuel.thibaut@ens-lyon.org> Subject: Re: [PATCH v2 08/13] vtpmmgr: Shutdown more gracefully Date: Mon, 10 May 2021 08:42:50 -0400 [thread overview] Message-ID: <bd57ee2f-2b7a-7ff8-69d6-a9275d959223@apertussolutions.com> (raw) In-Reply-To: <20210506135923.161427-9-jandryuk@gmail.com> On 5/6/21 9:59 AM, Jason Andryuk wrote: > vtpmmgr uses the default, weak app_shutdown, which immediately calls the > shutdown hypercall. This short circuits the vtpmmgr clean up logic. We > need to perform the clean up to actually Flush our key out of the tpm. > > Setting do_shutdown is one step in that direction, but vtpmmgr will most > likely be waiting in tpmback_req_any. We need to call shutdown_tpmback > to cancel the wait inside tpmback and perform the shutdown. > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com> > Reviewed-by: Samuel Thibault <samuel.thibaut@ens-lyon.org> > --- Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com> > stubdom/vtpmmgr/vtpmmgr.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/stubdom/vtpmmgr/vtpmmgr.c b/stubdom/vtpmmgr/vtpmmgr.c > index 9fddaa24f8..46ea018921 100644 > --- a/stubdom/vtpmmgr/vtpmmgr.c > +++ b/stubdom/vtpmmgr/vtpmmgr.c > @@ -67,11 +67,21 @@ int hw_is_tpm2(void) > return (hardware_version.hw_version == TPM2_HARDWARE) ? 1 : 0; > } > > +static int do_shutdown; > + > +void app_shutdown(unsigned int reason) > +{ > + printk("Shutdown requested: %d\n", reason); > + do_shutdown = 1; > + > + shutdown_tpmback(); > +} > + > void main_loop(void) { > tpmcmd_t* tpmcmd; > uint8_t respbuf[TCPA_MAX_BUFFER_LENGTH]; > > - while(1) { > + while (!do_shutdown) { > /* Wait for requests from a vtpm */ > vtpmloginfo(VTPM_LOG_VTPM, "Waiting for commands from vTPM's:\n"); > if((tpmcmd = tpmback_req_any()) == NULL) { >
next prev parent reply other threads:[~2021-05-10 12:43 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-06 13:59 [PATCH v2 00/13] vtpmmgr: Some fixes - still incomplete Jason Andryuk 2021-05-06 13:59 ` [PATCH v2 01/13] docs: Warn about incomplete vtpmmgr TPM 2.0 support Jason Andryuk 2021-05-06 13:59 ` [PATCH v2 02/13] vtpmmgr: Print error code to aid debugging Jason Andryuk 2021-05-06 13:59 ` [PATCH v2 03/13] stubom: newlib: Enable C99 formats for %z Jason Andryuk 2021-05-06 13:59 ` [PATCH v2 04/13] vtpmmgr: Allow specifying srk_handle for TPM2 Jason Andryuk 2021-05-06 21:35 ` Samuel Thibault 2021-05-10 11:56 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 05/13] vtpmmgr: Move vtpmmgr_shutdown Jason Andryuk 2021-05-07 15:48 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 06/13] vtpmmgr: Flush transient keys on shutdown Jason Andryuk 2021-05-10 12:12 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 07/13] vtpmmgr: Flush all transient keys Jason Andryuk 2021-05-10 12:19 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 08/13] vtpmmgr: Shutdown more gracefully Jason Andryuk 2021-05-06 14:04 ` Jason Andryuk 2021-05-10 12:42 ` Daniel P. Smith [this message] 2021-05-06 13:59 ` [PATCH v2 09/13] vtpmmgr: Support GetRandom passthrough on TPM 2.0 Jason Andryuk 2021-05-06 21:40 ` Samuel Thibault 2021-05-10 12:51 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 10/13] vtpmmgr: Remove bogus cast from TPM2_GetRandom Jason Andryuk 2021-05-06 21:41 ` Samuel Thibault 2021-05-10 13:03 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 11/13] vtpmmgr: Fix owner_auth & srk_auth parsing Jason Andryuk 2021-05-06 21:41 ` Samuel Thibault 2021-05-10 13:18 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 12/13] vtpmmgr: Check req_len before unpacking command Jason Andryuk 2021-05-06 21:42 ` Samuel Thibault 2021-05-10 13:32 ` Daniel P. Smith 2021-05-06 13:59 ` [PATCH v2 13/13] vtpm: Correct timeout units and command duration Jason Andryuk 2021-05-06 21:52 ` Samuel Thibault 2021-05-10 13:40 ` Daniel P. Smith
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=bd57ee2f-2b7a-7ff8-69d6-a9275d959223@apertussolutions.com \ --to=dpsmith@apertussolutions.com \ --cc=dgdegra@tycho.nsa.gov \ --cc=jandryuk@gmail.com \ --cc=quan.xu0@gmail.com \ --cc=samuel.thibault@ens-lyon.org \ --cc=samuel.thibaut@ens-lyon.org \ --cc=xen-devel@lists.xenproject.org \ --subject='Re: [PATCH v2 08/13] vtpmmgr: Shutdown more gracefully' \ /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
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).