Skip to contentSkip to conversation

New TPM driver and features

GIT PULL Kent Yoder 2 participants 4 messages Jul 26, 2012 – Jul 27, 2012

lore
Share & tools
lore

Kent Yoder

author
#0 lore raw

Hi James,

Please pull the following changes available since commit
663728418e3494f8e4a82f5d1b2f23c22d11be35:

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.c

Thanks,
Kent

#1 lore raw
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.
author
#2 lore raw

Hi,

Quoted 6 lines · H. Peter Anvin
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)?

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.
#3 lore raw
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 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)?

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.

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.