linux/drivers/char/tpm
jmlatten@linux.vnet.ibm.com 6da2517ddb tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send
Problem: When IMA and VTPM are both enabled in kernel config,
kernel hangs during bootup on LE OS.

Why?: IMA calls tpm_pcr_read() which results in tpm_ibmvtpm_send
and tpm_ibmtpm_recv getting called. A trace showed that
tpm_ibmtpm_recv was hanging.

Resolution: tpm_ibmtpm_recv was hanging because tpm_ibmvtpm_send
was sending CRQ message that probably did not make much sense
to phype because of Endianness. The fix below sends correctly
converted CRQ for LE. This was not caught before because it
seems IMA is not enabled by default in kernel config and
IMA exercises this particular code path in vtpm.

Tested with IMA and VTPM enabled in kernel config and VTPM
enabled on both a BE OS and a LE OS ppc64 lpar. This exercised
CRQ and TPM command code paths in vtpm.
Patch is against Peter's tpmdd tree on github which included
Vicky's previous vtpm le patches.

Signed-off-by: Joy Latten <jmlatten@linux.vnet.ibm.com>
Cc: <stable@vger.kernel.org> # eb71f8a5e3: "Added Little Endian support to vtpm module"
Cc: <stable@vger.kernel.org>
Reviewed-by: Ashley Lai <ashley@ahsleylai.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
2015-03-05 23:41:46 +01:00
..
Kconfig tpm: TPM 2.0 CRB Interface 2015-01-17 14:00:12 +01:00
Makefile tpm: TPM 2.0 CRB Interface 2015-01-17 14:00:12 +01:00
tpm2-cmd.c tpm, tpm_tis: fix TPM 2.0 probing 2015-02-15 16:59:15 +01:00
tpm_acpi.c ACPI: Clean up acpi_os_map/unmap_memory() to eliminate __iomem. 2014-05-27 18:13:08 +02:00
tpm_atmel.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_atmel.h tpmdd maintainers 2007-08-22 19:52:44 -07:00
tpm_crb.c tpm: fix suspend/resume paths for TPM 2.0 2015-02-15 16:56:49 +01:00
tpm_eventlog.c tpm: simplify code by using %*phN specifier 2014-07-29 23:10:56 +02:00
tpm_eventlog.h drivers/char/tpm: Add securityfs support for event log 2012-08-22 16:22:47 -05:00
tpm_i2c_atmel.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_i2c_infineon.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_i2c_nuvoton.c tpm: device class for tpm 2015-01-17 14:00:10 +01:00
tpm_i2c_stm_st33.c char/tpm: fixed white spaces coding style issues 2015-01-18 14:26:49 +01:00
tpm_ibmvtpm.c tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send 2015-03-05 23:41:46 +01:00
tpm_ibmvtpm.h tpm/ibmvtpm: Additional LE support for tpm_ibmvtpm_send 2015-03-05 23:41:46 +01:00
tpm_infineon.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_nsc.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_of.c tpm_ibmvtpm: Update email address in maintainers list and ibmvtpm driver 2015-01-17 14:00:09 +01:00
tpm_ppi.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm_tis.c tpm, tpm_tis: fix TPM 2.0 probing 2015-02-15 16:59:15 +01:00
tpm-chip.c tpm: fix format string error in tpm-chip.c 2015-01-20 21:28:36 +01:00
tpm-dev.c tpm: device class for tpm 2015-01-17 14:00:10 +01:00
tpm-interface.c tpm: fix suspend/resume paths for TPM 2.0 2015-02-15 16:56:49 +01:00
tpm-sysfs.c tpm: rename chip->dev to chip->pdev 2015-01-17 14:00:09 +01:00
tpm.h tpm, tpm_tis: fix TPM 2.0 probing 2015-02-15 16:59:15 +01:00
xen-tpmfront.c tpm: two-phase chip management functions 2015-01-17 14:00:09 +01:00