From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jarkko Sakkinen Subject: Re: [PATCH v5 4/5] Initialize TPM and get durations and timeouts Date: Wed, 10 Feb 2016 10:12:37 +0200 Message-ID: <20160210081237.GA5629@intel.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> <20160209165228.GA14611@obsidianresearch.com> <20160210035620.GB7161@intel.com> <201602100515.u1A5FonT015847@d03av04.boulder.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: <201602100515.u1A5FonT015847-2xHzGjyANq4+UXBhvPuGgqsjOiXwFzmk@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 Wed, Feb 10, 2016 at 12:15:44AM -0500, Stefan Berger wrote: > Jarkko Sakkinen wrote on 02/09/2016 > 10:56:20 PM: > > > > > On Tue, Feb 09, 2016 at 09:52:28AM -0700, Jason Gunthorpe wrote: > > > 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. > > > > *Maybe* it would be worth to check David's patch: > > > > https://github.com/PeterHuewe/linux-tpmdd/commit/ > > 9329f13c403daf1f4bd1e715d2ba0866e089fb1d > > Redid that now. > > https://github.com/stefanberger/linux/commit/83019eaab2cf5eb33f2665efdf9d2a117ed703b2 With very quick skim looks very similar, which is good because this approach is tested and known to work thanks to David. /Jarkko ------------------------------------------------------------------------------ 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