On Fri, Mar 22, 2013 at 10:27 AM, Jan Just Keijser <[email protected]> wrote: > Hi Kent, > > > Kent Yoder wrote: > > On Thu, Mar 21, 2013 at 9:01 AM, Ken Goldman <[email protected]> wrote: > > > The last command is a get cap for an owner evict key at 0A 26 72 C1 and > the error is 'invalid key handle'. > > On 3/21/2013 8:13 AM, Jan Just Keijser wrote: > > > hi *, > > this may be related to my previous post on tpm-pkcs11 devices, but since > the last shutdown my TPM device is in an unusable state. Trousers's tcsd > refuses to start, and if I rebuild with --enable-debug I get the > following log: > > TCSD tcsd_conf.c:94 platform_class_list_append: > platform_class_list_append start: > TCSD tcsd_conf.c:126 platform_class_list_append: Platform Class Added. > TCSD TCS ps/ps_utils.c:511 init_disk_cache: found 1 valid key(s) on disk. > > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 12 00 00 00 65 00 00 00 1A 00 00 > To TPM: 00 00 > TCSD TDDL tddl.c:171 Calling write to driver > TCSD TDDL tddl.c:188 ioctl: (25) Inappropriate ioctl for device > TCSD TDDL tddl.c:189 Falling back to Read/Write device support. > From TPM: 00 C4 00 00 00 1D 00 00 00 00 00 00 00 0F 00 30 > From TPM: 01 02 07 0B 00 02 01 42 52 43 4D 00 00 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 01 00 00 > To TPM: 00 04 00 00 00 B4 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 0F 00 00 00 00 00 00 00 01 00 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 01 00 00 > To TPM: 00 04 00 00 00 B6 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 0F 00 00 00 00 00 00 00 01 00 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 05 00 00 > To TPM: 00 04 00 00 01 01 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 12 00 00 00 00 00 00 00 04 00 00 > From TPM: 00 18 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 05 00 00 > To TPM: 00 04 00 00 01 02 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 12 00 00 00 00 00 00 00 04 00 00 > From TPM: 00 01 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 05 00 00 > To TPM: 00 04 00 00 01 04 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 12 00 00 00 00 00 00 00 04 00 00 > From TPM: 00 00 > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 05 00 00 > To TPM: 00 04 00 00 01 03 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 12 00 00 00 00 00 00 00 04 42 52 > From TPM: 43 4D > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 05 00 00 > To TPM: 00 04 00 00 01 0D > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 12 00 00 00 00 00 00 00 04 00 00 > From TPM: 00 05 > TCSD TCS tcs_caps.c:138 get_max_auths reports 5 auth contexts found > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 12 00 00 00 65 00 00 00 07 00 00 > To TPM: 00 00 > > > This command was "give me a list of loaded key handles"... > > > > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 1C 00 00 00 00 00 00 00 0E 00 03 > From TPM: B8 D9 77 91 FC 2D AF A2 0A 26 72 C1 > > > The tpm returned 3, B8 D9 77 91, FC 2D AF A2, and 0A 26 72 C1. > > > > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 0C 00 00 > To TPM: 00 04 B8 D9 77 91 > > > This command is "get me the key status for key" B8 D9 77 91. > > > > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 0A 00 00 00 0C > LOG_RETERR TPM tcsi_caps_tpm.c:52: 0xc > > > TPM says "invalid key handle" (as Ken mentioned). This shouldn't > happen unless there's an internal tpm error, or someone else is also > talking to your tpm. > > > > tcsd refuses to come up when my laptop is booting; what else could be > talking to the TPM at that time?
The device driver should lock out all of user space for you, so the only other culprit would be the kernel. > > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 0C 00 00 > To TPM: 00 04 FC 2D AF A2 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 0A 00 00 00 0C > LOG_RETERR TPM tcsi_caps_tpm.c:52: 0xc > > > Same here... > > > > TCSD TCS tcsi_caps_tpm.c:43 Entering Get Cap > To TPM: 00 C1 00 00 00 16 00 00 00 65 00 00 00 0C 00 00 > To TPM: 00 04 0A 26 72 C1 > TCSD TDDL tddl.c:171 Calling write to driver > From TPM: 00 C4 00 00 00 0A 00 00 00 0C > LOG_RETERR TPM tcsi_caps_tpm.c:52: 0xc > > > Same here... > > > > after which tcsd dies; the only way to resurrect the TPM is to CLEAR it > in the BIOS and then ACTIVATE it again - the SRK remains valid, however. > Has anyone seen this before? The TPM chip is on a Dell Latitude E4310 , > Broadcom based. > > > This looks like a programming error in tcsd. If we get an error > returned getting the status on the last reported key, we end up > accidentally returning error, which causes an orderly shutdown of the > daemon. > > Can you try the attached patch? > > > > the patch works beautifully! But how does the TPM end up in this state? I > can very well imaging that Dell didn't wire things up correctly ;) That's a good question. :-) I'll commit this patch for 0.3.11. Kent > cheers, > > JJK > > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ TrouSerS-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/trousers-users
