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

Reply via email to