On Thu, 2017-02-23 at 11:09 +0200, Jarkko Sakkinen wrote: > On Thu, Feb 16, 2017 at 09:25:19PM +0200, Jarkko Sakkinen wrote: > > From: James Bottomley <james.bottom...@hansenpartnership.com> > > > > Currently the tpm spaces are not exposed to userspace. Make this > > exposure via a separate device, which can now be opened multiple > > times because each read/write transaction goes separately via the > > space. > > > > Concurrency is protected by the chip->tpm_mutex for each read/write > > transaction separately. The TPM is cleared of all transient > > objects by the time the mutex is dropped, so there should be no > > interference between the kernel and userspace. > > Signed-off-by: James Bottomley < > > > > james.bottom...@hansenpartnershp.com>
> Reviewed-by: Jarkko Sakkinen <jarkko.sakk...@linux.intel.com> > Tested-by: Jarkko Sakkinen <jarkko.sakk...@linux.intel.com> Thanks! > Nitpicking but I've been thinking about naming. What about calling > the device as tpmrc0 as in resource context. I think that would be a > better name than TPM space. Well the original name was tpmrm<n> for TPM with Resource Manager. You wanted it to be tpms<n> for TPM with Spaces. I'm not entirely sold on the Resource Context name ... I think Resource Manager (because it's what the TCG calls it) or Spaces (because it's what all the code comments call it) are better. Resource Context sounds like what TPM2_SaveContext() creates for you rather than the interface. > You do not mix it up with namespaces and/or virtualization. With > resource in front it cannot be easily mixed up with TPM contexts > either. I'm a containers person. What this set of patches does is precisely OS level virtualization in my book, so I don't think you need to pretend it is't; and OS level virtualization is what a namespace does. The only difference between this and the other kernel namespaces is that you get a new namespace automatically when you open the device and you can't enter an existing namespace. I think therefore that tpmns<n> for TPM Namespace would be very appropriate. > This does not require any effort from your side. I could do the > renaming. > > PS. Could you go through my commits and test and review them at some > point so we would have the whole patch set peer tested? Already reviewed, just doing a test build (I'm travelling, so it actually has to be on my physical laptop). James