New TPM driver and features
Hi James,
Please pull the following changes available since commit663728418e3494f8e4a82f5d1b2f23c22d11be35:
Smack: Maintainer Record (2012-07-13 15:59:44 -0700)
are available in the git repository at:
git://github.com/shpedoikal/linux.git tpmdd-7-25-12
Bryan Freed (1):
CHROMIUM: tpm: tpm_i2c_infineon: Lock the I2C adapter for a sequence of requests.
Kent Yoder (3):
tpm: modularize event log collection
tpm: Move tpm_get_random api into the TPM device driver
hw_random: add support for the TPM chip as a hardware RNG source
Peter Huewe (1):
char/tpm: Add new driver for Infineon I2C TIS TPM
drivers/char/hw_random/Kconfig | 13 +
drivers/char/hw_random/Makefile | 1 +
drivers/char/hw_random/tpm-rng.c | 55 ++
drivers/char/tpm/Kconfig | 11 +
drivers/char/tpm/Makefile | 2 +
drivers/char/tpm/tpm.c | 54 ++-
drivers/char/tpm/tpm.h | 23 +
drivers/char/tpm/tpm_acpi.c | 104 ++++
drivers/char/tpm/{tpm_bios.c => tpm_eventlog.c} | 147 +-----
drivers/char/tpm/tpm_eventlog.h | 71 +++
drivers/char/tpm/tpm_i2c_infineon.c | 748 +++++++++++++++++++++++
include/linux/tpm.h | 4 +
security/keys/trusted.c | 47 +--
13 files changed, 1095 insertions(+), 185 deletions(-)
create mode 100644 drivers/char/hw_random/tpm-rng.c
create mode 100644 drivers/char/tpm/tpm_acpi.c
rename drivers/char/tpm/{tpm_bios.c => tpm_eventlog.c} (75%)
create mode 100644 drivers/char/tpm/tpm_eventlog.h
create mode 100644 drivers/char/tpm/tpm_i2c_infineon.cThanks,
Kent
Quoted 1 line · Kent Yoder
hw_random: add support for the TPM chip as a hardware RNG source
Could you clarify this? rngd (the user of /dev/hw_random) already has support for the TPM... is this fundamentally different (e.g. can it coexist with tcsd being in use at the same time)?
-hpa
Signature · 2 lines
H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
Hi,
Quoted 6 lines · H. Peter Anvin
Quoted 1 line · Kent Yoder
hw_random: add support for the TPM chip as a hardware RNG sourceCould you clarify this? rngd (the user of
/dev/hw_random) already has support for the TPM... is this fundamentally different (e.g. can it coexist with tcsd being in use at the same time)?
These can coexist at the same time since /dev/tpm0 is only opened once
from user-space (from tcsd) and this hwrng driver comes in through the kernel. There would be some amount of contention with the tpm, but its not likely to be noticable - grabbing rng data doesn't require any state in the tpm, like an auth session or key loading.
Since the rngd support for the tpm requires trousers, this patch will
be useful in places where you don't want to have to deploy the full TSS, like embedded and early boot.
Kent
Quoted 7 lines
-hpa
Signature · 2 lines
H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
Quoted 16 lines · Kent Yoder
Hi,
Quoted 6 lines · H. Peter Anvin
Quoted 1 line · Kent Yoder
hw_random: add support for the TPM chip as a hardware RNG sourceCould you clarify this? rngd (the user of
/dev/hw_random) already has support for the TPM... is this fundamentally different (e.g. can it coexist with tcsd being in use at the same time)?These can coexist at the same time since
/dev/tpm0is only opened once
from user-space (from tcsd) and this hwrng driver comes in through the kernel. There would be some amount of contention with the tpm, but its not likely to be noticable - grabbing rng data doesn't require any state in the tpm, like an auth session or key loading.
Quoted 4 lines
Since the rngd support for the tpm requires trousers, this patch will
be useful in places where you don't want to have to deploy the full TSS, like embedded and early boot.
Actually the rngd support for the TPM *conflicts* with trousers... I was looking at adding trousers support when I stumbled over your patch. Your patch is better, because it solves the handover problem (rngd should normally be started as early as possible.)
-hpa
Signature · 2 lines
H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.