Skip to content

Commit c4f414b

Browse files
committed
Merge tag 'tsm-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/devsec/tsm
Pull TSM updates from Dan Williams: "A couple of updates to the maximum buffer sizes supported for the configfs-tsm-reports interface. This interface is a common transport that conveys the varied architecture specific launch attestation reports for confidential VMs. - Prepare the configfs-tsm-reports interface for passing larger attestation evidence blobs for "Device Identifier Composition Engine" (DICE) and Post Quantum Crypto (PQC) - Update the tdx-guest driver for DICE evidence (larger certificate chains and the CBOR Web Token schema)" * tag 'tsm-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/devsec/tsm: configfs-tsm-report: tdx_guest: Increase Quote buffer size to 128KB configfs-tsm-report: Increase TSM_REPORT_OUTBLOB_MAX to 16MB configfs-tsm-report: Document size limits for outblob attributes
2 parents bb7a3fc + 4318506 commit c4f414b

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

Documentation/ABI/testing/configfs-tsm-report

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ Description:
1717
where the implementation is conveyed via the @provider
1818
attribute.
1919

20+
This interface fails reads and sets errno to EFBIG when the
21+
report generated by @provider exceeds the configfs-tsm-report
22+
internal maximums. Contact the platform provider for the
23+
compatible security module, driver, and attestation library
24+
combination.
25+
2026
What: /sys/kernel/config/tsm/report/$name/auxblob
2127
Date: October, 2023
2228
KernelVersion: v6.7
@@ -31,6 +37,9 @@ Description:
3137
Standardization v2.03 Section 4.1.8.1 MSG_REPORT_REQ.
3238
https://www.amd.com/content/dam/amd/en/documents/epyc-technical-docs/specifications/56421.pdf
3339

40+
See "EFBIG" comment in the @outblob description for potential
41+
error conditions.
42+
3443
What: /sys/kernel/config/tsm/report/$name/manifestblob
3544
Date: January, 2024
3645
KernelVersion: v6.10
@@ -43,6 +52,9 @@ Description:
4352
See 'service_provider' for information on the format of the
4453
manifest blob.
4554

55+
See "EFBIG" comment in the @outblob description for potential
56+
error conditions.
57+
4658
What: /sys/kernel/config/tsm/report/$name/provider
4759
Date: September, 2023
4860
KernelVersion: v6.7
@@ -61,6 +73,10 @@ Description:
6173
Library Revision 0.8 Appendix 4,5
6274
https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/Intel_TDX_DCAP_Quoting_Library_API.pdf
6375

76+
Intel TDX platforms with DICE-based attestation use CBOR Web Token
77+
(CWT) format for the Quote payload. This is indicated by the Quote
78+
size exceeding 8KB.
79+
6480
What: /sys/kernel/config/tsm/report/$name/generation
6581
Date: September, 2023
6682
KernelVersion: v6.7

drivers/virt/coco/tdx-guest/tdx-guest.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,10 @@ static void tdx_mr_deinit(const struct attribute_group *mr_grp)
160160
/*
161161
* Intel's SGX QE implementation generally uses Quote size less
162162
* than 8K (2K Quote data + ~5K of certificate blob).
163+
* DICE-based attestation uses layered evidence that requires
164+
* larger Quote size (~100K).
163165
*/
164-
#define GET_QUOTE_BUF_SIZE SZ_8K
166+
#define GET_QUOTE_BUF_SIZE SZ_128K
165167

166168
#define GET_QUOTE_CMD_VER 1
167169

include/linux/tsm.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <linux/device.h>
99

1010
#define TSM_REPORT_INBLOB_MAX 64
11-
#define TSM_REPORT_OUTBLOB_MAX SZ_32K
11+
#define TSM_REPORT_OUTBLOB_MAX SZ_16M
1212

1313
/*
1414
* Privilege level is a nested permission concept to allow confidential

0 commit comments

Comments
 (0)