Re: [PATCH 02/23] TPM: Provide a facility for a userspace TPM emulator

Jarkko Sakkinen <jarkko.sakkinen-VuQAYsv1563Yd54FQh9/[email protected]>
Newsgroups net.sourceforge.lists.tpmdd-devel,org.kernel.vger.keyrings,org.kernel.vger.linux-integrity,org.kernel.vger.linux-security-module
Message-ID <[email protected]>
On Tue, Aug 21, 2018 at 12:31:40PM -0600, Jason Gunthorpe wrote:
> On Tue, Aug 21, 2018 at 04:57:03PM +0100, David Howells wrote:
> > Provide a misc device file (/dev/tpm_emul) by which a userspace TPM emulator
> > can set up a virtual TPM device under the control of the TPM frontend.  The
> > way this works is:
> > 
> >  (1) The emulator opens /dev/tpm_emul which is provided by the tpm_user
> >      driver.
> > 
> >  (2) tpm_user registers a TPM device and the tpm driver creates a /dev/tpmN
> >      misc device for the trousers package and suchlike to access.
> > 
> >  (3) The emulator sits in read() on the emulator device waiting for a command
> >      to come through.
> > 
> >  (4) tpm_user passes requests from /dev/tpmN to the emulator's read() call.
> > 
> >  (5) The emulator processes the request.
> > 
> >  (6) The emulator either write()'s the reply or calls ioctl(fd,0,0) to cancel
> >      the command.
> > 
> >  (7) The emulator goes back to read() to wait for the next command.
> > 
> >  (8) tpm_user passes the reply back to the tpm driver which passes it back to
> >      /dev/tpmN.
> > 
> > When the emulator closes /dev/tpm_emul, the TPM driver is unregistered and the
> > /dev/tpmN misc device is then removed.  Any outstanding requests are aborted
> > and -EIO will be returned from then on.  Multiple TPMs can be registered.
> > 
> > Signed-off-by: David Howells <[email protected]>
> > ---
> > 
> >  drivers/char/tpm/Kconfig         |   13 +
> >  drivers/char/tpm/Makefile        |    1 
> >  drivers/char/tpm/tpm_user_emul.c |  672 ++++++++++++++++++++++++++++++++++++++
> >  include/linux/wait.h             |   11 +
> >  4 files changed, 697 insertions(+)
> >  create mode 100644 drivers/char/tpm/tpm_user_emul.c
> 
> This looks to duplicate the vtpm stuff...

Yeah, this is a duplicate to tpm_vtpm_proxy.

> 
> Jason

/Jarkko


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.