All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/8] tpm: add the securityfs pseudo files support for TPM 2.0 firmware event log
@ 2016-09-28  8:34 Nayna Jain
       [not found] ` <1475051682-23060-1-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 69+ messages in thread
From: Nayna Jain @ 2016-09-28  8:34 UTC (permalink / raw)
  To: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

The TPM device driver defines ascii and binary methods for
displaying the TPM 1.2 event log via securityfs files, which are
needed for validating a TPM quote. The device driver for TPM 2.0
does not have similar support for displaying the TPM 2.0
event log. This patch set adds the support for displaying
TPM 2.0 event log in binary format.

The parsing mechanism to display the TPM 2.0 event log in binary
format is implemented as defined in the TPM 2.0 TCG specification[1].
If the firmware event log support exists and is successfully read,
the securityfs file is created to provide the event log in binary
format for both the OF device tree and ACPI.

- Patches 1 - 6 clean up the code and fix pre-existing issues.
- Patch 7 moves the common TPM 1.2 and 2.0 event log initialization
functions to a new file named tpm_eventlog_init.c.
- Patch 8 adds the support for creating securityfs files and for
displaying the TPM 2.0 crypto agile event log in binary format.

With that, this patch set splits the event log functionality into
initialization functions, TPM 1.2 event log parsing and TPM 2.0 event
log parsing.

[1] TCG EFI Protocol Specification, Family "2.0" - Section 5 "Event
Log Structure"

Changelog History:

v4:

- Includes feedbacks from Jarkko and Jason.
- Patch "tpm: define a generic open() method for ascii & bios
measurements".
  - Fix indentation issue.
- Patch "tpm: replace the dynamically allocated bios_dir as
struct dentry array".
  - Continue to use bios_dir_count variable to use is_bad() checks and
  to maintain correct order for securityfs_remove() during teardown.
  - Reset chip->bios_dir_count in teardown() function.
- Patch "tpm: validate the eventlog access before tpm_bios_log_setup".
  - Retain TPM2 check which was removed in previous patch.
  - Add tpm_bios_log_setup failure handling.
  - Remove use of private data from v3 version of patch. Add a new 
  member to struct tpm_chip to achieve the same purpose.
- Patch "tpm: redefine the read_log method to check for ACPI/OF 
properties sequentially".
  - Move replacement of CONFIG_TCG_IBMVTPM with CONFIG_OF to this
  patch from patch 3.
  - Replace -1 error code with -ENODEV.
  - Patch "tpm: replace the of_find_node_by_name() with dev of_node 
  property".
  - Uses chip->dev.parent->of_node.
  - Created separate patch for cleanup of pr_err messages.
- Patch "tpm: remove printk error messages".
  - New Patch.
- Patch "tpm: add the securityfs file support for TPM 2.0 eventlog".
  - Parses event digests using event alg_id rather than event log header 
  alg_id.
  - Uses of_property_match_string to differentiate tpm/vtpm compatible 
  property.
  - Adds the comment for difference in tpm/vtpm endianness.

v3:

- Includes the review feedbacks as suggested by Jason.
- Split of patches into one patch per idea.
- Generic open() method for ascii/bios measurements.
- Replacement of of **bios_dir with *bios_dir[3].
- Verifying readlog() is successful before creating securityfs entries.
- Generic readlog() to check for ACPI/OF in sequence.
- read_log_of() method now uses of_node propertry rather than
calling find_device_by_name.
- read_log differentiates vtpm/tpm using its compatible property.
- Cleans pr_err with dev_dbg.
- Commit msgs subject line prefixed with tpm.

v2:

- Fixes issues as given in feedback by Jason.
- Adds documentation for device tree.

Nayna Jain (8):
  tpm: define a generic open() method for ascii & bios measurements
  tpm: replace dynamically allocated bios_dir with dentry array
  tpm: validate event log access before tpm_bios_log_setup
  tpm: redefine read_log() to handle ACPI/OF at runtime
  tpm: replace of_find_node_by_name() with dev of_node property
  tpm: remove printk error messages
  tpm: move event log init functions to tpm_eventlog_init.c
  tpm: add securityfs support for TPM 2.0 firmware event log

 drivers/char/tpm/Makefile            |  14 +--
 drivers/char/tpm/tpm-chip.c          |  24 ++--
 drivers/char/tpm/tpm.h               |   9 +-
 drivers/char/tpm/tpm2.h              |  79 +++++++++++++
 drivers/char/tpm/tpm2_eventlog.c     | 216 +++++++++++++++++++++++++++++++++++
 drivers/char/tpm/tpm_acpi.c          |  36 +++---
 drivers/char/tpm/tpm_eventlog.c      | 157 +------------------------
 drivers/char/tpm/tpm_eventlog.h      |  30 +++--
 drivers/char/tpm/tpm_eventlog_init.c | 163 ++++++++++++++++++++++++++
 drivers/char/tpm/tpm_of.c            |  68 ++++++-----
 10 files changed, 559 insertions(+), 237 deletions(-)
 create mode 100644 drivers/char/tpm/tpm2.h
 create mode 100644 drivers/char/tpm/tpm2_eventlog.c
 create mode 100644 drivers/char/tpm/tpm_eventlog_init.c

-- 
2.5.0


------------------------------------------------------------------------------

^ permalink raw reply	[flat|nested] 69+ messages in thread

end of thread, other threads:[~2016-10-19  2:10 UTC | newest]

Thread overview: 69+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-28  8:34 [PATCH v4 0/8] tpm: add the securityfs pseudo files support for TPM 2.0 firmware event log Nayna Jain
     [not found] ` <1475051682-23060-1-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-28  8:34   ` [PATCH v4 1/8] tpm: define a generic open() method for ascii & bios measurements Nayna Jain
2016-09-28  8:34   ` [PATCH v4 2/8] tpm: replace dynamically allocated bios_dir with dentry array Nayna Jain
     [not found]     ` <1475051682-23060-3-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-30 18:27       ` Jarkko Sakkinen
     [not found]         ` <20160930182703.GA9595-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-09-30 18:30           ` Jason Gunthorpe
     [not found]             ` <20160930183026.GC1867-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-30 19:48               ` Jarkko Sakkinen
     [not found]                 ` <20160930194825.GB12710-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-09-30 20:31                   ` Jason Gunthorpe
     [not found]                     ` <20160930203147.GB5722-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-01 12:06                       ` Jarkko Sakkinen
2016-10-01 12:27       ` Jarkko Sakkinen
2016-09-28  8:34   ` [PATCH v4 3/8] tpm: validate event log access before tpm_bios_log_setup Nayna Jain
     [not found]     ` <1475051682-23060-4-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-30 18:57       ` Jarkko Sakkinen
     [not found]         ` <20160930185742.GB9595-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-09-30 19:11           ` Jason Gunthorpe
     [not found]             ` <20160930191112.GA5722-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-30 19:45               ` Jarkko Sakkinen
     [not found]                 ` <20160930194538.GA12710-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-01  2:42                   ` Jason Gunthorpe
     [not found]                     ` <20161001024213.GA13028-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-01 11:35                       ` Jarkko Sakkinen
2016-10-01 12:01       ` Jarkko Sakkinen
     [not found]         ` <20161001120125.GC8664-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-01 14:28           ` Jarkko Sakkinen
2016-10-01 16:54           ` Jason Gunthorpe
     [not found]             ` <20161001165436.GB13462-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-01 19:32               ` Jarkko Sakkinen
     [not found]                 ` <20161001193239.GA3862-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-01 23:19                   ` Jarkko Sakkinen
2016-10-02 21:25                   ` Jason Gunthorpe
     [not found]                     ` <20161002212551.GB25872-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-03 12:20                       ` Jarkko Sakkinen
     [not found]                         ` <20161003122013.GA9990-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-03 12:35                           ` Jarkko Sakkinen
     [not found]                             ` <20161003123523.GC9990-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-03 16:35                               ` Jason Gunthorpe
     [not found]                                 ` <20161003163516.GB6801-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-03 20:22                                   ` Jarkko Sakkinen
     [not found]                                     ` <20161003202230.GA14624-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-03 21:11                                       ` Jason Gunthorpe
     [not found]                                         ` <20161003211129.GA26880-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-04  5:26                                           ` Jarkko Sakkinen
     [not found]                                             ` <20161004052651.GB10572-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-04 17:12                                               ` Jason Gunthorpe
     [not found]                                                 ` <20161004171231.GB17149-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-05  8:10                                                   ` Jarkko Sakkinen
2016-10-06 20:11                                                   ` Nayna
     [not found]                                                     ` <57F6AFF1.4000103-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-06 20:17                                                       ` Jason Gunthorpe
2016-10-06 19:58                                   ` Nayna
     [not found]                                     ` <57F6ACF7.6000408-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-06 20:12                                       ` Jason Gunthorpe
2016-10-06 19:56               ` Nayna
     [not found]                 ` <57F6AC7D.9070507-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-06 20:10                   ` Jason Gunthorpe
     [not found]                     ` <20161006201047.GA12085-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-06 20:53                       ` Nayna
2016-10-13 18:51           ` Nayna
     [not found]             ` <57FFD79F.7080405-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-19  2:10               ` Nayna
2016-10-03 17:14       ` Jason Gunthorpe
     [not found]         ` <20161003171419.GE6801-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-09  4:17           ` Nayna
     [not found]             ` <57F9C4C4.2070508-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09 23:25               ` Jason Gunthorpe
     [not found]                 ` <20161009232544.GC24139-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-10  1:53                   ` Nayna
     [not found]                     ` <57FAF49D.7040009-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-10  3:21                       ` Jason Gunthorpe
     [not found]                         ` <20161010032113.GA26363-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-10  4:13                           ` Nayna
     [not found]                             ` <57FB1551.9000806-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-11 16:51                               ` Jason Gunthorpe
     [not found]                                 ` <20161011165143.GA6881-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-11 19:11                                   ` Nayna
     [not found]                                     ` <57FD3949.9050302-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-11 20:15                                       ` Jason Gunthorpe
     [not found]                                         ` <20161011201558.GB21656-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-12  5:16                                           ` Nayna
2016-10-13 18:53                                           ` Nayna
2016-09-28  8:34   ` [PATCH v4 4/8] tpm: redefine read_log() to handle ACPI/OF at runtime Nayna Jain
     [not found]     ` <1475051682-23060-5-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-30 19:05       ` Jarkko Sakkinen
     [not found]         ` <20160930190511.GC9595-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-06 20:38           ` Nayna
     [not found]             ` <57F6B647.1070206-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09 11:29               ` Nayna
     [not found]                 ` <57FA2A0B.7060404-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09 12:05                   ` Jarkko Sakkinen
     [not found]                     ` <20161009120553.GA6224-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-10  3:24                       ` Jason Gunthorpe
2016-09-28  8:34   ` [PATCH v4 5/8] tpm: replace of_find_node_by_name() with dev of_node property Nayna Jain
     [not found]     ` <1475051682-23060-6-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-30 19:12       ` Jarkko Sakkinen
2016-09-28  8:34   ` [PATCH v4 6/8] tpm: remove printk error messages Nayna Jain
     [not found]     ` <1475051682-23060-7-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09  1:55       ` Nayna
     [not found]         ` <57F9A392.7050302-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09 23:22           ` Jason Gunthorpe
     [not found]             ` <20161009232208.GB24139-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-10-12 12:55               ` Nayna
2016-09-28  8:34   ` [PATCH v4 7/8] tpm: move event log init functions to tpm_eventlog_init.c Nayna Jain
2016-09-28  8:34   ` [PATCH v4 8/8] tpm: add securityfs support for TPM 2.0 firmware event log Nayna Jain
     [not found]     ` <1475051682-23060-9-git-send-email-nayna-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-09-30 19:24       ` Jarkko Sakkinen
2016-10-01 11:51       ` Jarkko Sakkinen
     [not found]         ` <20161001115154.GB8664-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-09  2:02           ` Nayna
     [not found]             ` <57F9A52C.7050405-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2016-10-09  9:14               ` Jarkko Sakkinen
     [not found]                 ` <20161009091409.GD31891-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-10-10 18:54                   ` Nayna
2016-09-28  9:43   ` [PATCH v4 0/8] tpm: add the securityfs pseudo files " Jarkko Sakkinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.