On Wed, 2021-01-13 at 08:48 +0100, Greg KH wrote:
On Tue, Jan 12, 2021 at 05:59:58PM -0800, James Bottomley wrote:
quoted
Create sysfs per hash groups with 24 PCR files in them one group,
named pcr-<hash>, for each agile hash of the TPM. The files are
plugged in to a PCR read function which is TPM version agnostic, so
this works also for TPM 1.2 but the hash is only sha1 in that case.
Note: the macros used to create the hashes emit spurious checkpatch
warnings. Do not try to "fix" them as checkpatch recommends,
otherwise
they'll break.
Signed-off-by: James Bottomley <
James.Bottomley@HansenPartnership.com>
Reviewed-by: Jerry Snitselaar <redacted>
Tested-by: Thiago Jung Bauermann <redacted>
---
v2: fix TPM 1.2 legacy links failure
v3: fix warn on and add note to tpm_algorithms
v4: reword commit and add tested-by
v5: algorithm spelling fix WARN->dev_err
---
drivers/char/tpm/tpm-sysfs.c | 179
+++++++++++++++++++++++++++++++++++
include/linux/tpm.h | 9 +-
2 files changed, 187 insertions(+), 1 deletion(-)
You add new sysfs files, but do not add Documentation/ABI/ entries
showing how they are used and what they contain :(
Please do that for the next version of this patch.
It's a bit of a chicken and egg problem since I've no idea when this
will go upstream and the entries require that information making the
ABI more of a post accept type thing. I can make a guess about the
values if Jarkko is going to but this in for the next merge window.
James
---8>8>8><8<8<8---
From: James Bottomley <James.Bottomley@HansenPartnership.com>
Subject: [PATCH] ABI: add sysfs description for tpm exports of PCR registers
Adds the ABI entries for the new
/sys/class/tpm/tpm<n>/pcr-<hash>/<m>
files which are added to export the PCR hash values on a one value per
file basis.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
Documentation/ABI/stable/sysfs-class-tpm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Documentation/ABI/stable/sysfs-class-tpm b/Documentation/ABI/stable/sysfs-class-tpm
index 91ca63ec7581..d897ecb9615f 100644
--- a/Documentation/ABI/stable/sysfs-class-tpm
+++ b/Documentation/ABI/stable/sysfs-class-tpm
@@ -194,3 +194,17 @@ Description: The "tpm_version_major" property shows the TCG spec major version
Example output::
2
+
+What: /sys/class/tpm/tpmX/pcr-H/N
+Date: March 2021
+KernelVersion: 5.12
+Contact: linux-integrity@vger.kernel.org
+Description: produces output in compact hex representation for PCR
+ number N from hash bank H. N is the numeric value of
+ the PCR number and H is the crypto string
+ representation of the hash
+
+ Example output::
+
+ cat /sys/class/tpm/tpm0/pcr-sha256/7
+ 2ED93F199692DC6788EFA6A1FE74514AB9760B2A6CEEAEF6C808C13E4ABB0D42