lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160626061449.GA3751@intel.com>
Date:	Sun, 26 Jun 2016 09:14:49 +0300
From:	Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
To:	James Morris <jmorris@...ei.org>
Cc:	linux-security-module@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
	Christophe Ricard <christophe.ricard@...il.com>,
	Stefan Berger <stefanb@...ux.vnet.ibm.com>
Subject: [GIT PULL] tpmdd updates for Linux 4.8

James,

This patch set contains two new major features:

* Multi-instance TPM proxy driver
* Rework of sharing common TIS code with different physical interfaces.

In addition, there are a vast number of small fixes and cleanups.

/Jarkko

Multi-instance TPM proxy driver
===============================

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.

Rework of sharing common TIS code with different physical interfaces
====================================================================

There is a new common tpm_tis_core module that contains the core TIS
interface and a callback API for sharing the behavior between different
physical layers like LPC, SPI and I2C. For the 4.8 release adaptations
for standard TCG MMIO and SPI have been provided.

The following changes since commit 26703c636c1f3272b39bd0f6d04d2e970984f1b6:

  um/ptrace: run seccomp after ptrace (2016-06-14 10:54:47 -0700)

are available in the git repository at:

  git://git.infradead.org/users/jjs/linux-tpmdd.git tags/tpmdd-next-20160626

for you to fetch changes up to f786b752098216fedb73ba2905c8cce12358534a:

  tpm_crb: fix address space of the return pointer in crb_map_res() (2016-06-25 17:28:57 +0300)

----------------------------------------------------------------
tpmdd updates for Linux 4.8

----------------------------------------------------------------
Arnd Bergmann (2):
      tpm: fix tpm_bios_log_setup stub prototype
      tpm: select ANON_INODES for proxy driver

Christophe Ricard (40):
      tpm/st33zp24/spi: Remove nbr_dummy_bytes variable usage
      tpm/st33zp24/spi: Use functions name with st33zp24_spi_ prefix
      tpm/st33zp24/spi: Remove useless use of memcpy.
      tpm/st33zp24/spi: Remove field spi_xfer from st33zp24_spi_phy structure
      tpm/st33zp24: Remove unneeded CONFIG_OF switches
      tpm/st33zp24: Auto-select core module
      tpm/st33zp24/spi: Improve st33zp24_spi_evaluate_latency
      tpm/st33zp24: Extend Copyright headers
      tpm/st33zp24: Add support for acpi probing for i2c device.
      tpm: st33zp24: Add support for acpi probing for spi device.
      tpm/st33zp24/i2c: Change xxx_request_resources header
      tpm/st33zp24/spi: Change xxx_request_resources header
      tpm/st33zp24/spi: Remove nbr_dummy_bytes variable usage
      tpm/st33zp24/spi: Use functions name with st33zp24_spi_ prefix
      tpm/st33zp24/spi: Remove useless use of memcpy.
      tpm/st33zp24/spi: Remove field spi_xfer from st33zp24_spi_phy structure
      tpm/st33zp24: Remove unneeded CONFIG_OF switches
      tpm/st33zp24/spi: Improve st33zp24_spi_evaluate_latency
      tpm/st33zp24: Extend Copyright headers
      tpm/st33zp24: Add support for acpi probing for i2c device.
      tpm: st33zp24: Add support for acpi probing for spi device.
      tpm/st33zp24/i2c: Change xxx_request_resources header
      tpm/st33zp24/spi: Change xxx_request_resources header
      tpm/st33zp24/i2c: Drop two useless checks in ACPI probe path
      tpm/st33zp24/spi: Drop two useless checks in ACPI probe path
      tpm/st33zp24: Remove unneeded tpm_reg in get_burstcount
      tpm: drop list from struct tpm_vendor_specific
      tpm: drop 'iobase' from struct tpm_vendor_specific
      tpm: drop 'irq' from struct tpm_vendor_specific
      tpm: drop 'read_queue' from struct tpm_vendor_specific
      tpm: drop 'locality' from struct tpm_vendor_specific
      tpm: Move tpm_vendor_specific data related with PTP specification to tpm_chip
      tpm: Remove useless priv field in struct tpm_vendor_specific
      tpm: Add include guards in tpm.h
      tpm: tpm_tis: Share common data between phys
      tpm_tis: Introduce intermediate layer for TPM access
      devicetree: Add infineon to vendor-prefix.txt
      devicetree: Add Trusted Computing Group to vendor-prefix.txt
      tpm/tpm_tis: Split tpm_tis driver into a core and TCG TIS compliant phy
      tpm/tpm_tis_spi: Add support for spi phy

Jarkko Sakkinen (12):
      tpm: cleanup tpm_tis_remove()
      tpm: fix crash in tpm_tis deinitialization
      tpm_crb: drop struct resource res from struct crb_priv
      tpm_crb: fix mapping of the buffers
      tpm: check for TPM_CHIP_FLAG_TPM2 before calling tpm2_shutdown()
      tpm: drop int_queue from tpm_vendor_specific
      tpm: drop tpm_atmel specific fields from tpm_vendor_specific
      tpm: drop manufacturer_id from struct tpm_vendor_specific
      tpm: drop 'base' from struct tpm_vendor_specific
      tpm: drop the field 'time_expired' from struct tpm_chip
      tpm_vtpm_proxy: fix address space of a user pointer in vtpmx_fops_ioctl()
      tpm_crb: fix address space of the return pointer in crb_map_res()

Jason Gunthorpe (6):
      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
      tpm: Remove all uses of drvdata from the TPM Core
      tpm: Fix IRQ unwind ordering in TIS

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: Add documentation for the tpm_vtpm_proxy device driver
      tpm: Fix suspend regression

Stephen Rothwell (1):
      tpm: fix for typo in tpm/tpm_ibmvtpm.c

 .../bindings/security/tpm/tpm_tis_spi.txt          |  24 +
 .../devicetree/bindings/vendor-prefixes.txt        |   2 +
 Documentation/ioctl/ioctl-number.txt               |   1 +
 Documentation/tpm/tpm_vtpm_proxy.txt               |  71 ++
 drivers/char/tpm/Kconfig                           |  30 +
 drivers/char/tpm/Makefile                          |   3 +
 drivers/char/tpm/st33zp24/Kconfig                  |  11 +-
 drivers/char/tpm/st33zp24/i2c.c                    |  70 +-
 drivers/char/tpm/st33zp24/spi.c                    | 184 +++--
 drivers/char/tpm/st33zp24/st33zp24.c               | 125 ++-
 drivers/char/tpm/st33zp24/st33zp24.h               |  14 +-
 drivers/char/tpm/tpm-chip.c                        | 284 +++++--
 drivers/char/tpm/tpm-dev.c                         |  15 +-
 drivers/char/tpm/tpm-interface.c                   | 105 +--
 drivers/char/tpm/tpm-sysfs.c                       |  78 +-
 drivers/char/tpm/tpm.h                             |  78 +-
 drivers/char/tpm/tpm2-cmd.c                        |  11 +-
 drivers/char/tpm/tpm_atmel.c                       |  63 +-
 drivers/char/tpm/tpm_atmel.h                       |  16 +-
 drivers/char/tpm/tpm_crb.c                         |  75 +-
 drivers/char/tpm/tpm_eventlog.c                    |   2 +-
 drivers/char/tpm/tpm_eventlog.h                    |   4 +-
 drivers/char/tpm/tpm_i2c_atmel.c                   |  39 +-
 drivers/char/tpm/tpm_i2c_infineon.c                |  55 +-
 drivers/char/tpm/tpm_i2c_nuvoton.c                 |  98 +--
 drivers/char/tpm/tpm_ibmvtpm.c                     |  38 +-
 drivers/char/tpm/tpm_infineon.c                    |  22 +-
 drivers/char/tpm/tpm_nsc.c                         |  84 +-
 drivers/char/tpm/tpm_tis.c                         | 829 ++------------------
 drivers/char/tpm/tpm_tis_core.c                    | 862 +++++++++++++++++++++
 drivers/char/tpm/tpm_tis_core.h                    | 156 ++++
 drivers/char/tpm/tpm_tis_spi.c                     | 272 +++++++
 drivers/char/tpm/tpm_vtpm_proxy.c                  | 644 +++++++++++++++
 drivers/char/tpm/xen-tpmfront.c                    |  36 +-
 include/linux/platform_data/st33zp24.h             |   2 +-
 include/uapi/linux/Kbuild                          |   1 +
 include/uapi/linux/vtpm_proxy.h                    |  36 +
 37 files changed, 3030 insertions(+), 1410 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt
 create mode 100644 Documentation/tpm/tpm_vtpm_proxy.txt
 create mode 100644 drivers/char/tpm/tpm_tis_core.c
 create mode 100644 drivers/char/tpm/tpm_tis_core.h
 create mode 100644 drivers/char/tpm/tpm_tis_spi.c
 create mode 100644 drivers/char/tpm/tpm_vtpm_proxy.c
 create mode 100644 include/uapi/linux/vtpm_proxy.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ