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 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? Thanks, Kent
trousers-tcsd_return_success_on_tpm_key_status.patch
Description: Binary data
------------------------------------------------------------------------------ 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
