lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 4 Apr 2017 18:29:06 +0200
From:   Paul Menzel <pmenzel@...gen.mpg.de>
To:     tpmdd-devel@...ts.sourceforge.net
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Regression between Linux 3.16 and 4.8/4.9 on Lenovo X60 with coreboot

Dear Linux folks,


Currently, TPM support is added to the coreboot project for the Lenovo 
X60 [1].

Unfortunately, there seems to have been a regression between Linux 3.16 
and 4.8 and 4.9, so that the Linux kernel doesn’t create the TPM device.

```
$ more /proc/version Linux version 3.16.0-4-686-pae 
(debian-kernel@...ts.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) 
#1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07)
$ journalctl -k -o cat | grep -i tpm
tpm_tis 00:08: 1.2 TPM (device-id 0x3202, rev-id 5)
tpm_tis 00:08: Issuing TPM_STARTUP
```

The device `/dev/tpm0` is present.

Here are the results with Linux 4.8.15.

```
kernel: [    0.000000] Linux version 4.8.0-0.bpo.2-686-pae 
(debian-kernel@...ts.debian.org) (gcc version 4.9.2 (Debian 4.9.2-10) ) 
#1 SMP Debian 4.8.15-2~bpo8+2 (2017-01-17)
[…]
kernel: [   11.302522] tpm tpm0: tpm_transmit: tpm_send: error -5
kernel: [   11.302598] tpm_tis 00:08: Could not get TPM timeouts and 
durations
```

Remove module and run `sudo modprobe tpm_tis itpm=1 force=1`.

```
kernel: [   35.024386] tpm_tis tpm_tis: 1.2 TPM (device-id 0x3202, rev-id 5)
kernel: [   49.160752] tpm_tis 00:08: can't request region for resource 
[mem 0xfed40000-0xfed44fff]
kernel: [   49.160865] tpm_tis: probe of 00:08 failed with error -16
```

And here with Linux 4.9.13.

```
kernel: [ 7.813547] tpm_tis 00:08: 1.2 TPM (device-id 0x3202, rev-id 5)
kernel: [ 7.891026] tpm tpm0: Issuing TPM_STARTUP
kernel: [ 8.042783] tpm tpm0: Unable to read burstcount
kernel: [ 8.042893] tpm tpm0: tpm_transmit: tpm_send: error -16
kernel: [ 8.042900] tpm_tis 00:08: Could not get TPM timeouts and duration
```

If I am not mistaken, the error code 16 is for the macro `EBUSY`.

It’d be great, if the TPM would also be created in the newer Linux 
Kernel versions, so that Debian users can upgrade to the upcoming stable 
release, which ships Linux 4.9.

Unfortunately, I won’t be able to bisect the commit introducing the 
regression. Could you please tell me how to debug, why the burstcount 
cannot be read.


Kind regards,

Paul


[1] https://review.coreboot.org/13410/

Powered by blists - more mailing lists