diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 11:18:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 11:18:12 -0500 |
commit | 33673dcb372b5d8179c22127ca71deb5f3dc7016 (patch) | |
tree | d182e9dc6aa127375a92b5eb619d6cd2ddc23ce7 /Documentation/ABI | |
parent | fe9453a1dcb5fb146f9653267e78f4a558066f6f (diff) | |
parent | 5b2660326039a32b28766cb4c1a8b1bdcfadc375 (diff) |
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem updates from James Morris:
"This is basically a maintenance update for the TPM driver and EVM/IMA"
Fix up conflicts in lib/digsig.c and security/integrity/ima/ima_main.c
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (45 commits)
tpm/ibmvtpm: build only when IBM pseries is configured
ima: digital signature verification using asymmetric keys
ima: rename hash calculation functions
ima: use new crypto_shash API instead of old crypto_hash
ima: add policy support for file system uuid
evm: add file system uuid to EVM hmac
tpm_tis: check pnp_acpi_device return code
char/tpm/tpm_i2c_stm_st33: drop temporary variable for return value
char/tpm/tpm_i2c_stm_st33: remove dead assignment in tpm_st33_i2c_probe
char/tpm/tpm_i2c_stm_st33: Remove __devexit attribute
char/tpm/tpm_i2c_stm_st33: Don't use memcpy for one byte assignment
tpm_i2c_stm_st33: removed unused variables/code
TPM: Wait for TPM_ACCESS tpmRegValidSts to go high at startup
tpm: Fix cancellation of TPM commands (interrupt mode)
tpm: Fix cancellation of TPM commands (polling mode)
tpm: Store TPM vendor ID
TPM: Work around buggy TPMs that block during continue self test
tpm_i2c_stm_st33: fix oops when i2c client is unavailable
char/tpm: Use struct dev_pm_ops for power management
TPM: STMicroelectronics ST33 I2C BUILD STUFF
...
Diffstat (limited to 'Documentation/ABI')
-rw-r--r-- | Documentation/ABI/stable/sysfs-class-tpm | 185 | ||||
-rw-r--r-- | Documentation/ABI/testing/ima_policy | 10 |
2 files changed, 192 insertions, 3 deletions
diff --git a/Documentation/ABI/stable/sysfs-class-tpm b/Documentation/ABI/stable/sysfs-class-tpm new file mode 100644 index 000000000000..a60b45e2493b --- /dev/null +++ b/Documentation/ABI/stable/sysfs-class-tpm | |||
@@ -0,0 +1,185 @@ | |||
1 | What: /sys/class/misc/tpmX/device/ | ||
2 | Date: April 2005 | ||
3 | KernelVersion: 2.6.12 | ||
4 | Contact: tpmdd-devel@lists.sf.net | ||
5 | Description: The device/ directory under a specific TPM instance exposes | ||
6 | the properties of that TPM chip | ||
7 | |||
8 | |||
9 | What: /sys/class/misc/tpmX/device/active | ||
10 | Date: April 2006 | ||
11 | KernelVersion: 2.6.17 | ||
12 | Contact: tpmdd-devel@lists.sf.net | ||
13 | Description: The "active" property prints a '1' if the TPM chip is accepting | ||
14 | commands. An inactive TPM chip still contains all the state of | ||
15 | an active chip (Storage Root Key, NVRAM, etc), and can be | ||
16 | visible to the OS, but will only accept a restricted set of | ||
17 | commands. See the TPM Main Specification part 2, Structures, | ||
18 | section 17 for more information on which commands are | ||
19 | available. | ||
20 | |||
21 | What: /sys/class/misc/tpmX/device/cancel | ||
22 | Date: June 2005 | ||
23 | KernelVersion: 2.6.13 | ||
24 | Contact: tpmdd-devel@lists.sf.net | ||
25 | Description: The "cancel" property allows you to cancel the currently | ||
26 | pending TPM command. Writing any value to cancel will call the | ||
27 | TPM vendor specific cancel operation. | ||
28 | |||
29 | What: /sys/class/misc/tpmX/device/caps | ||
30 | Date: April 2005 | ||
31 | KernelVersion: 2.6.12 | ||
32 | Contact: tpmdd-devel@lists.sf.net | ||
33 | Description: The "caps" property contains TPM manufacturer and version info. | ||
34 | |||
35 | Example output: | ||
36 | |||
37 | Manufacturer: 0x53544d20 | ||
38 | TCG version: 1.2 | ||
39 | Firmware version: 8.16 | ||
40 | |||
41 | Manufacturer is a hex dump of the 4 byte manufacturer info | ||
42 | space in a TPM. TCG version shows the TCG TPM spec level that | ||
43 | the chip supports. Firmware version is that of the chip and | ||
44 | is manufacturer specific. | ||
45 | |||
46 | What: /sys/class/misc/tpmX/device/durations | ||
47 | Date: March 2011 | ||
48 | KernelVersion: 3.1 | ||
49 | Contact: tpmdd-devel@lists.sf.net | ||
50 | Description: The "durations" property shows the 3 vendor-specific values | ||
51 | used to wait for a short, medium and long TPM command. All | ||
52 | TPM commands are categorized as short, medium or long in | ||
53 | execution time, so that the driver doesn't have to wait | ||
54 | any longer than necessary before starting to poll for a | ||
55 | result. | ||
56 | |||
57 | Example output: | ||
58 | |||
59 | 3015000 4508000 180995000 [original] | ||
60 | |||
61 | Here the short, medium and long durations are displayed in | ||
62 | usecs. "[original]" indicates that the values are displayed | ||
63 | unmodified from when they were queried from the chip. | ||
64 | Durations can be modified in the case where a buggy chip | ||
65 | reports them in msec instead of usec and they need to be | ||
66 | scaled to be displayed in usecs. In this case "[adjusted]" | ||
67 | will be displayed in place of "[original]". | ||
68 | |||
69 | What: /sys/class/misc/tpmX/device/enabled | ||
70 | Date: April 2006 | ||
71 | KernelVersion: 2.6.17 | ||
72 | Contact: tpmdd-devel@lists.sf.net | ||
73 | Description: The "enabled" property prints a '1' if the TPM chip is enabled, | ||
74 | meaning that it should be visible to the OS. This property | ||
75 | may be visible but produce a '0' after some operation that | ||
76 | disables the TPM. | ||
77 | |||
78 | What: /sys/class/misc/tpmX/device/owned | ||
79 | Date: April 2006 | ||
80 | KernelVersion: 2.6.17 | ||
81 | Contact: tpmdd-devel@lists.sf.net | ||
82 | Description: The "owned" property produces a '1' if the TPM_TakeOwnership | ||
83 | ordinal has been executed successfully in the chip. A '0' | ||
84 | indicates that ownership hasn't been taken. | ||
85 | |||
86 | What: /sys/class/misc/tpmX/device/pcrs | ||
87 | Date: April 2005 | ||
88 | KernelVersion: 2.6.12 | ||
89 | Contact: tpmdd-devel@lists.sf.net | ||
90 | Description: The "pcrs" property will dump the current value of all Platform | ||
91 | Configuration Registers in the TPM. Note that since these | ||
92 | values may be constantly changing, the output is only valid | ||
93 | for a snapshot in time. | ||
94 | |||
95 | Example output: | ||
96 | |||
97 | PCR-00: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
98 | PCR-01: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
99 | PCR-02: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
100 | PCR-03: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
101 | PCR-04: 3A 3F 78 0F 11 A4 B4 99 69 FC AA 80 CD 6E 39 57 C3 3B 22 75 | ||
102 | ... | ||
103 | |||
104 | The number of PCRs and hex bytes needed to represent a PCR | ||
105 | value will vary depending on TPM chip version. For TPM 1.1 and | ||
106 | 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes | ||
107 | long. Use the "caps" property to determine TPM version. | ||
108 | |||
109 | What: /sys/class/misc/tpmX/device/pubek | ||
110 | Date: April 2005 | ||
111 | KernelVersion: 2.6.12 | ||
112 | Contact: tpmdd-devel@lists.sf.net | ||
113 | Description: The "pubek" property will return the TPM's public endorsement | ||
114 | key if possible. If the TPM has had ownership established and | ||
115 | is version 1.2, the pubek will not be available without the | ||
116 | owner's authorization. Since the TPM driver doesn't store any | ||
117 | secrets, it can't authorize its own request for the pubek, | ||
118 | making it unaccessible. The public endorsement key is gener- | ||
119 | ated at TPM menufacture time and exists for the life of the | ||
120 | chip. | ||
121 | |||
122 | Example output: | ||
123 | |||
124 | Algorithm: 00 00 00 01 | ||
125 | Encscheme: 00 03 | ||
126 | Sigscheme: 00 01 | ||
127 | Parameters: 00 00 08 00 00 00 00 02 00 00 00 00 | ||
128 | Modulus length: 256 | ||
129 | Modulus: | ||
130 | B4 76 41 82 C9 20 2C 10 18 40 BC 8B E5 44 4C 6C | ||
131 | 3A B2 92 0C A4 9B 2A 83 EB 5C 12 85 04 48 A0 B6 | ||
132 | 1E E4 81 84 CE B2 F2 45 1C F0 85 99 61 02 4D EB | ||
133 | 86 C4 F7 F3 29 60 52 93 6B B2 E5 AB 8B A9 09 E3 | ||
134 | D7 0E 7D CA 41 BF 43 07 65 86 3C 8C 13 7A D0 8B | ||
135 | 82 5E 96 0B F8 1F 5F 34 06 DA A2 52 C1 A9 D5 26 | ||
136 | 0F F4 04 4B D9 3F 2D F2 AC 2F 74 64 1F 8B CD 3E | ||
137 | 1E 30 38 6C 70 63 69 AB E2 50 DF 49 05 2E E1 8D | ||
138 | 6F 78 44 DA 57 43 69 EE 76 6C 38 8A E9 8E A3 F0 | ||
139 | A7 1F 3C A8 D0 12 15 3E CA 0E BD FA 24 CD 33 C6 | ||
140 | 47 AE A4 18 83 8E 22 39 75 93 86 E6 FD 66 48 B6 | ||
141 | 10 AD 94 14 65 F9 6A 17 78 BD 16 53 84 30 BF 70 | ||
142 | E0 DC 65 FD 3C C6 B0 1E BF B9 C1 B5 6C EF B1 3A | ||
143 | F8 28 05 83 62 26 11 DC B4 6B 5A 97 FF 32 26 B6 | ||
144 | F7 02 71 CF 15 AE 16 DD D1 C1 8E A8 CF 9B 50 7B | ||
145 | C3 91 FF 44 1E CF 7C 39 FE 17 77 21 20 BD CE 9B | ||
146 | |||
147 | Possible values: | ||
148 | |||
149 | Algorithm: TPM_ALG_RSA (1) | ||
150 | Encscheme: TPM_ES_RSAESPKCSv15 (2) | ||
151 | TPM_ES_RSAESOAEP_SHA1_MGF1 (3) | ||
152 | Sigscheme: TPM_SS_NONE (1) | ||
153 | Parameters, a byte string of 3 u32 values: | ||
154 | Key Length (bits): 00 00 08 00 (2048) | ||
155 | Num primes: 00 00 00 02 (2) | ||
156 | Exponent Size: 00 00 00 00 (0 means the | ||
157 | default exp) | ||
158 | Modulus Length: 256 (bytes) | ||
159 | Modulus: The 256 byte Endorsement Key modulus | ||
160 | |||
161 | What: /sys/class/misc/tpmX/device/temp_deactivated | ||
162 | Date: April 2006 | ||
163 | KernelVersion: 2.6.17 | ||
164 | Contact: tpmdd-devel@lists.sf.net | ||
165 | Description: The "temp_deactivated" property returns a '1' if the chip has | ||
166 | been temporarily dectivated, usually until the next power | ||
167 | cycle. Whether a warm boot (reboot) will clear a TPM chip | ||
168 | from a temp_deactivated state is platform specific. | ||
169 | |||
170 | What: /sys/class/misc/tpmX/device/timeouts | ||
171 | Date: March 2011 | ||
172 | KernelVersion: 3.1 | ||
173 | Contact: tpmdd-devel@lists.sf.net | ||
174 | Description: The "timeouts" property shows the 4 vendor-specific values | ||
175 | for the TPM's interface spec timeouts. The use of these | ||
176 | timeouts is defined by the TPM interface spec that the chip | ||
177 | conforms to. | ||
178 | |||
179 | Example output: | ||
180 | |||
181 | 750000 750000 750000 750000 [original] | ||
182 | |||
183 | The four timeout values are shown in usecs, with a trailing | ||
184 | "[original]" or "[adjusted]" depending on whether the values | ||
185 | were scaled by the driver to be reported in usec from msecs. | ||
diff --git a/Documentation/ABI/testing/ima_policy b/Documentation/ABI/testing/ima_policy index ec0a38ef3145..f1c5cc9d17a8 100644 --- a/Documentation/ABI/testing/ima_policy +++ b/Documentation/ABI/testing/ima_policy | |||
@@ -18,17 +18,21 @@ Description: | |||
18 | rule format: action [condition ...] | 18 | rule format: action [condition ...] |
19 | 19 | ||
20 | action: measure | dont_measure | appraise | dont_appraise | audit | 20 | action: measure | dont_measure | appraise | dont_appraise | audit |
21 | condition:= base | lsm | 21 | condition:= base | lsm [option] |
22 | base: [[func=] [mask=] [fsmagic=] [uid=] [fowner]] | 22 | base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] |
23 | [fowner]] | ||
23 | lsm: [[subj_user=] [subj_role=] [subj_type=] | 24 | lsm: [[subj_user=] [subj_role=] [subj_type=] |
24 | [obj_user=] [obj_role=] [obj_type=]] | 25 | [obj_user=] [obj_role=] [obj_type=]] |
26 | option: [[appraise_type=]] | ||
25 | 27 | ||
26 | base: func:= [BPRM_CHECK][FILE_MMAP][FILE_CHECK][MODULE_CHECK] | 28 | base: func:= [BPRM_CHECK][MMAP_CHECK][FILE_CHECK][MODULE_CHECK] |
27 | mask:= [MAY_READ] [MAY_WRITE] [MAY_APPEND] [MAY_EXEC] | 29 | mask:= [MAY_READ] [MAY_WRITE] [MAY_APPEND] [MAY_EXEC] |
28 | fsmagic:= hex value | 30 | fsmagic:= hex value |
31 | fsuuid:= file system UUID (e.g 8bcbe394-4f13-4144-be8e-5aa9ea2ce2f6) | ||
29 | uid:= decimal value | 32 | uid:= decimal value |
30 | fowner:=decimal value | 33 | fowner:=decimal value |
31 | lsm: are LSM specific | 34 | lsm: are LSM specific |
35 | option: appraise_type:= [imasig] | ||
32 | 36 | ||
33 | default policy: | 37 | default policy: |
34 | # PROC_SUPER_MAGIC | 38 | # PROC_SUPER_MAGIC |