From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Gunthorpe Subject: Re: [PATCH v5 4/5] Initialize TPM and get durations and timeouts Date: Tue, 9 Feb 2016 09:52:28 -0700 Message-ID: <20160209165228.GA14611@obsidianresearch.com> References: <1454959628-30582-1-git-send-email-stefanb@linux.vnet.ibm.com> <1454959628-30582-5-git-send-email-stefanb@linux.vnet.ibm.com> <20160209053323.GD12657@obsidianresearch.com> <201602091626.u19GQpga021574@d01av02.pok.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <201602091626.u19GQpga021574-prK0F/7GlgzImUpY6SP3GEEOCMrvLtNR@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tpmdd-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: Stefan Berger Cc: dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org List-Id: tpmdd-devel@lists.sourceforge.net On Tue, Feb 09, 2016 at 11:19:15AM -0500, Stefan Berger wrote: > Jason Gunthorpe wrote on 02/09/2016 12:33:23 > AM: > > > > > > On Mon, Feb 08, 2016 at 02:27:07PM -0500, Stefan Berger wrote: > > > Add the retrieval of TPM 1.2 durations and timeouts. Since this requires > > > the startup of the TPM, do this for TPM 1.2 and TPM 2. > > > > > > To not allow to interleave with commands from user space, so send the > > > TPM_Startup as the first command. The timeouts can then be gotten at any > > > later time, even interleaved with commands from user space. > > > > Do not call tpm_register until get_timeouts has completed and this > > will naturally be avoided the same way every other TPM driver does. > > Getting the timeouts cannot complete before the TPM emulator has started, which > in turn cannot start before the ioctl returns. We don't know whether user space > starts a client first on /dev/tpm1 or the TPM emulator starts first on the file > descriptor. We can control which command gets *queued* for the TPM emulator and > that's what I am doing by having the kernel queue the startup command first. I keep saying this same solution - start a work queue just before the ioctl returns and do the get_timeouts and registration in there. Jason ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140