From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: tpmdd-devel@lists.sourceforge.net
Cc: jarkko.sakkinen@linux.intel.com, jgunthorpe@obsidianresearch.com,
linux-security-module@vger.kernel.org,
linux-kernel@vger.kernel.org,
Stefan Berger <stefanb@linux.vnet.ibm.com>
Subject: [PATCH v8 00/10] Multi-instance vTPM proxy driver
Date: Sun, 13 Mar 2016 18:54:30 -0400 [thread overview]
Message-ID: <1457909680-14085-1-git-send-email-stefanb@linux.vnet.ibm.com> (raw)
The following series of patches implements a multi-instance vTPM
proxy driver that can dynamically create TPM 'server' and client device
pairs.
Using an ioctl on the provided /dev/vtpmx, a client-side vTPM device
and a server side file descriptor is created. The file descriptor must
be passed to a TPM emulator. The device driver will initialize the
emulated TPM using TPM 1.2 or TPM 2 startup commands and it will read
the command durations from the device in case of a TPM 1.2. The choice
of emulated TPM device (1.2 or 2) must be provided with a flag in
the ioctl.
The driver is based on a recent checkout of James Morris's 'next'
branch and uses several recently posted patches from Jason and Jarkko.
Stefan
v7->v8:
- minor tweaks on the documentation
- Reordered function calls in the VTPM proxy driver's server side release
function so that a client holding the 'ops' lock releases it before the
driver tries to grab the lock when unregistering the device.
v6->v7:
- Adjusted name of driver to tpm_vtpm_proxy from tpm_vtpm. Adjust function
names, names of structures, and names of constants.
- Adjusted IOCTL to use magic 0xa1 rather than the completely used 0xa0.
- Extended driver documentation and added documentation of ioctl.
- Moved test program to own project (dropped patch 11).
v5->v6:
- Adapted errno's for unsupported flags and ioctls following Jason's
comments
v4->v5:
- Introduced different error codes for unsupported flags and ioctls
- Added documentation patch
Jason Gunthorpe (4):
tpm: Get rid of chip->pdev
tpm: Get rid of devname
tpm: Provide strong locking for device removal
tpm: Split out the devm stuff from tpmm_chip_alloc
Stefan Berger (6):
tpm: Get rid of module locking
tpm: Replace device number bitmap with IDR
tpm: Introduce TPM_CHIP_FLAG_VIRTUAL
tpm: Proxy driver for supporting multiple emulated TPMs
tpm: Initialize TPM and get durations and timeouts
tpm: Add documentation for the tpm_vtpm device driver
Documentation/ioctl/ioctl-number.txt | 1 +
Documentation/tpm/tpm_vtpm_proxy.txt | 71 ++++
drivers/char/tpm/Kconfig | 10 +
drivers/char/tpm/Makefile | 1 +
drivers/char/tpm/tpm-chip.c | 221 ++++++++----
drivers/char/tpm/tpm-dev.c | 15 +-
drivers/char/tpm/tpm-interface.c | 50 +--
drivers/char/tpm/tpm-sysfs.c | 22 +-
drivers/char/tpm/tpm.h | 30 +-
drivers/char/tpm/tpm2-cmd.c | 8 +-
drivers/char/tpm/tpm_atmel.c | 14 +-
drivers/char/tpm/tpm_eventlog.c | 2 +-
drivers/char/tpm/tpm_eventlog.h | 2 +-
drivers/char/tpm/tpm_i2c_atmel.c | 16 +-
drivers/char/tpm/tpm_i2c_infineon.c | 6 +-
drivers/char/tpm/tpm_i2c_nuvoton.c | 24 +-
drivers/char/tpm/tpm_infineon.c | 22 +-
drivers/char/tpm/tpm_nsc.c | 20 +-
drivers/char/tpm/tpm_tis.c | 18 +-
drivers/char/tpm/tpm_vtpm_proxy.c | 649 +++++++++++++++++++++++++++++++++++
include/uapi/linux/Kbuild | 1 +
include/uapi/linux/vtpm_proxy.h | 42 +++
22 files changed, 1066 insertions(+), 179 deletions(-)
create mode 100644 Documentation/tpm/tpm_vtpm_proxy.txt
create mode 100644 drivers/char/tpm/tpm_vtpm_proxy.c
create mode 100644 include/uapi/linux/vtpm_proxy.h
--
2.4.3
next reply other threads:[~2016-03-13 22:55 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-13 22:54 Stefan Berger [this message]
2016-03-13 22:54 ` [PATCH v8 01/10] tpm: Get rid of chip->pdev Stefan Berger
2016-03-13 22:54 ` [PATCH v8 02/10] tpm: Get rid of devname Stefan Berger
2016-03-13 22:54 ` [PATCH v8 03/10] tpm: Provide strong locking for device removal Stefan Berger
2016-03-13 22:54 ` [PATCH v8 04/10] tpm: Get rid of module locking Stefan Berger
2016-03-13 22:54 ` [PATCH v8 05/10] tpm: Split out the devm stuff from tpmm_chip_alloc Stefan Berger
2016-03-13 22:54 ` [PATCH v8 06/10] tpm: Replace device number bitmap with IDR Stefan Berger
2016-03-15 5:58 ` Jarkko Sakkinen
2016-03-13 22:54 ` [PATCH v8 07/10] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL Stefan Berger
2016-03-13 22:54 ` [PATCH v8 08/10] tpm: Proxy driver for supporting multiple emulated TPMs Stefan Berger
2016-03-14 16:26 ` Jarkko Sakkinen
2016-03-16 12:09 ` Jarkko Sakkinen
2016-03-16 13:49 ` Stefan Berger
2016-03-16 17:49 ` Jason Gunthorpe
2016-03-16 20:37 ` Jarkko Sakkinen
2016-03-16 20:42 ` Jarkko Sakkinen
2016-03-17 17:45 ` Stefan Berger
2016-03-18 8:52 ` Jarkko Sakkinen
2016-03-18 13:06 ` Jarkko Sakkinen
2016-03-13 22:54 ` [PATCH v8 09/10] tpm: Initialize TPM and get durations and timeouts Stefan Berger
2016-03-22 6:34 ` [v8,09/10] " Jarkko Sakkinen
2016-03-22 10:54 ` Stefan Berger
2016-03-29 15:31 ` [v8,09/10] tpm: Initialize TPM and get durations and timeoutsg Jarkko Sakkinen
2016-03-29 15:53 ` Stefan Berger
2016-03-13 22:54 ` [PATCH v8 10/10] tpm: Add documentation for the tpm_vtpm device driver Stefan Berger
2016-03-29 16:24 ` [PATCH v8 00/10] Multi-instance vTPM proxy driver Jarkko Sakkinen
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=1457909680-14085-1-git-send-email-stefanb@linux.vnet.ibm.com \
--to=stefanb@linux.vnet.ibm.com \
--cc=jarkko.sakkinen@linux.intel.com \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=tpmdd-devel@lists.sourceforge.net \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).