mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* TPM bug fix causes hang on suspend (2.6.35-rc4)
@ 2010-07-17  0:00 Sarah Sharp
  2010-07-17 14:12 ` Thomas Meyer
  0 siblings, 1 reply; 4+ messages in thread
From: Sarah Sharp @ 2010-07-17  0:00 UTC (permalink / raw)
  To: tpmdd-devel, Rajiv Andrade, James Morris; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2093 bytes --]

I recently upgraded to 2.6.35-rc4, and I discovered that suspend no
longer works on my Thinkpad x200s.  When I suspend with some programs
open (specifically while buffy is reading my maildirs), the suspend
light blinks forever and the system never suspends.

I bisected the issue down to commit b5edfef, which is a merge of James
Morris' security-testing-2.6 tree, that only included this commit:

commit 02a077c52ef7631275a79862ffd9f3dbe9d38bc2
Author: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
Date:   Mon Jun 14 13:58:22 2010 -0300

    TPM: ReadPubEK output struct fix
    
    This patch adds a missing element of the ReadPubEK command output,
    that prevents future overflow of this buffer when copying the
    TPM output result into it.
    
    Prevents a kernel panic in case the user tries to read the
    pubek from sysfs.
    
    Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
    Signed-off-by: James Morris <jmorris@namei.org>

diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
index 8e00b4d..792868d 100644
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -224,6 +224,7 @@ struct      tpm_readpubek_params_out {
        u8      algorithm[4];
        u8      encscheme[2];
        u8      sigscheme[2];
+       __be32  paramsize;
        u8      parameters[12]; /*assuming RSA*/
        __be32  keysize;
        u8      modulus[256];

The dmesg captured over netconsole when suspend fails is attached, but
it doesn't look very interesting.  lspci output is also attached.  I
don't have any userspace programs installed that can use TPM, like
trousers or libtspi1.

If I try just removing the tpm_tis, tpm_bios, and tpm modules before
suspending, the suspend still fails.  If I recompile without TPM
hardware support (CONFIG_TCG_TPM=n), suspend still fails.  However, if I
also turn off the securityFS config option (CONFIG_SECURITYFS),
suspend succeeds.

It looks like an odd commit to cause a suspend failure, but when I reset
the git HEAD to the commit before the merge of this patch, and suspend
works fine.  Can you fix this?

Sarah Sharp

[-- Attachment #2: dmesg-tpm-failed-suspend.txt --]
[-- Type: text/plain, Size: 708 bytes --]

[  284.608553] console [netcon0] enabled
[  284.608559] netconsole: network logging started
[  292.584052] wlan0: no IPv6 routers present
[  314.124116] hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0004
[  314.124138] uhci_hcd 0000:00:1a.1: port 2 portsc 008a,00
[  314.124150] hub 4-0:1.0: port 2, status 0100, change 0003, 12 Mb/s
[  314.124154] usb 4-2: USB disconnect, address 3
[  314.124157] usb 4-2: unregistering device
[  314.124160] usb 4-2: usb_disable_device nuking all URBs
[  314.124167] usb 4-2: unregistering interface 4-2:1.0
[  314.124223] usb 4-2: unregistering interface 4-2:1.1
[  314.124266] usb 4-2: unregistering interface 4-2:1.2
[  314.124302] usb 4-2: unregistering interface 4-2:1.3

[-- Attachment #3: lspci-thinkpad-x200s.txt --]
[-- Type: text/plain, Size: 13972 bytes --]

00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
	Subsystem: Lenovo Device 20e0
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: <access denied>
	Kernel driver in use: agpgart-intel
	Kernel modules: intel-agp

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
	Subsystem: Lenovo Device 20e4
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 45
	Region 0: Memory at f2000000 (64-bit, non-prefetchable) [size=4M]
	Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Region 4: I/O ports at 1800 [size=8]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
	Subsystem: Lenovo Device 20e4
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Region 0: Memory at f2400000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: <access denied>

00:03.0 Communication controller: Intel Corporation Mobile 4 Series Chipset MEI Controller (rev 07)
	Subsystem: Lenovo Device 20e6
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
	Latency: 0
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at f2826800 (64-bit, non-prefetchable) [size=16]
	Capabilities: <access denied>

00:03.2 IDE interface: Intel Corporation Mobile 4 Series Chipset PT IDER Controller (rev 07) (prog-if 85 [Master SecO PriO])
	Subsystem: Lenovo Device 20ea
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin C routed to IRQ 18
	Region 0: I/O ports at 1828 [size=8]
	Region 1: I/O ports at 180c [size=4]
	Region 2: I/O ports at 1820 [size=8]
	Region 3: I/O ports at 1808 [size=4]
	Region 4: I/O ports at 1810 [size=16]
	Capabilities: <access denied>

00:03.3 Serial controller: Intel Corporation Mobile 4 Series Chipset AMT SOL Redirection (rev 07) (prog-if 02)
	Subsystem: Lenovo Device 20ec
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 17
	Region 0: I/O ports at 1830 [size=8]
	Region 1: Memory at f2624000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: serial

00:19.0 Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection (rev 03)
	Subsystem: Lenovo Device 20ee
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 44
	Region 0: Memory at f2600000 (32-bit, non-prefetchable) [size=128K]
	Region 1: Memory at f2625000 (32-bit, non-prefetchable) [size=4K]
	Region 2: I/O ports at 1840 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: e1000e

00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 20
	Region 4: I/O ports at 1860 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 21
	Region 4: I/O ports at 1880 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin C routed to IRQ 22
	Region 4: I/O ports at 18a0 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) (prog-if 20)
	Subsystem: Lenovo Device 20f1
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin D routed to IRQ 23
	Region 0: Memory at f2826c00 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd
	Kernel modules: ehci-hcd

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
	Subsystem: Lenovo Device 20f2
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 46
	Region 0: Memory at f2620000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: HDA Intel
	Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00003000-00003fff
	Memory behind bridge: c0000000-c01fffff
	Prefetchable memory behind bridge: 00000000c0200000-00000000c03fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: f2500000-f25fffff
	Prefetchable memory behind bridge: 00000000c0400000-00000000c05fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 4 (rev 03)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=05, subordinate=0c, sec-latency=0
	I/O behind bridge: 00002000-00002fff
	Memory behind bridge: f0000000-f1ffffff
	Prefetchable memory behind bridge: 00000000f2900000-00000000f29fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport
	Kernel modules: shpchp

00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 4: I/O ports at 18c0 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 17
	Region 4: I/O ports at 18e0 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
	Subsystem: Lenovo Device 20f0
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin C routed to IRQ 18
	Region 4: I/O ports at 1c00 [size=32]
	Capabilities: <access denied>
	Kernel driver in use: uhci_hcd
	Kernel modules: uhci-hcd

00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) (prog-if 20)
	Subsystem: Lenovo Device 20f1
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin D routed to IRQ 19
	Region 0: Memory at f2827000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci_hcd
	Kernel modules: ehci-hcd

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) (prog-if 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=0d, subordinate=0d, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: fff00000-000fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>

00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03)
	Subsystem: Lenovo Device 20f5
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: <access denied>
	Kernel modules: iTCO_wdt

00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03) (prog-if 01)
	Subsystem: Lenovo Device 20f8
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 43
	Region 0: I/O ports at 1c48 [size=8]
	Region 1: I/O ports at 183c [size=4]
	Region 2: I/O ports at 1c40 [size=8]
	Region 3: I/O ports at 1838 [size=4]
	Region 4: I/O ports at 1c20 [size=32]
	Region 5: Memory at f2826000 (32-bit, non-prefetchable) [size=2K]
	Capabilities: <access denied>
	Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
	Subsystem: Lenovo Device 20f9
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at f2827400 (64-bit, non-prefetchable) [size=256]
	Region 4: I/O ports at 1c60 [size=32]
	Kernel modules: i2c-i801

03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection
	Subsystem: Intel Corporation Device 1211
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 47
	Region 0: Memory at f2500000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: <access denied>
	Kernel driver in use: iwlagn
	Kernel modules: iwlagn


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: TPM bug fix causes hang on suspend (2.6.35-rc4)
  2010-07-17  0:00 TPM bug fix causes hang on suspend (2.6.35-rc4) Sarah Sharp
@ 2010-07-17 14:12 ` Thomas Meyer
  2010-07-19 17:05   ` Sarah Sharp
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Meyer @ 2010-07-17 14:12 UTC (permalink / raw)
  To: Sarah Sharp; +Cc: tpmdd-devel, Rajiv Andrade, James Morris, linux-kernel

Am Freitag, den 16.07.2010, 17:00 -0700 schrieb Sarah Sharp:
> I recently upgraded to 2.6.35-rc4, and I discovered that suspend no
> longer works on my Thinkpad x200s.  When I suspend with some programs
> open (specifically while buffy is reading my maildirs), the suspend
> light blinks forever and the system never suspends.
> 
> I bisected the issue down to commit b5edfef, which is a merge of James
> Morris' security-testing-2.6 tree, that only included this commit:
> 
> commit 02a077c52ef7631275a79862ffd9f3dbe9d38bc2
> Author: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
> Date:   Mon Jun 14 13:58:22 2010 -0300
> 
>     TPM: ReadPubEK output struct fix
>     
>     This patch adds a missing element of the ReadPubEK command output,
>     that prevents future overflow of this buffer when copying the
>     TPM output result into it.
>     
>     Prevents a kernel panic in case the user tries to read the
>     pubek from sysfs.
>     
>     Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
>     Signed-off-by: James Morris <jmorris@namei.org>
> 
> diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
> index 8e00b4d..792868d 100644
> --- a/drivers/char/tpm/tpm.h
> +++ b/drivers/char/tpm/tpm.h
> @@ -224,6 +224,7 @@ struct      tpm_readpubek_params_out {
>         u8      algorithm[4];
>         u8      encscheme[2];
>         u8      sigscheme[2];
> +       __be32  paramsize;
>         u8      parameters[12]; /*assuming RSA*/
>         __be32  keysize;
>         u8      modulus[256];
> 
> The dmesg captured over netconsole when suspend fails is attached, but
> it doesn't look very interesting.  lspci output is also attached.  I
> don't have any userspace programs installed that can use TPM, like
> trousers or libtspi1.
> 
> If I try just removing the tpm_tis, tpm_bios, and tpm modules before
> suspending, the suspend still fails.  If I recompile without TPM
> hardware support (CONFIG_TCG_TPM=n), suspend still fails.  However, if I
> also turn off the securityFS config option (CONFIG_SECURITYFS),
> suspend succeeds.
> 
> It looks like an odd commit to cause a suspend failure, but when I reset
> the git HEAD to the commit before the merge of this patch, and suspend
> works fine.  Can you fix this?
> 
> Sarah Sharp

Maybe same as https://bugzilla.kernel.org/show_bug.cgi?id=16256 ?




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: TPM bug fix causes hang on suspend (2.6.35-rc4)
  2010-07-17 14:12 ` Thomas Meyer
@ 2010-07-19 17:05   ` Sarah Sharp
  2010-08-10 18:31     ` Sarah Sharp
  0 siblings, 1 reply; 4+ messages in thread
From: Sarah Sharp @ 2010-07-19 17:05 UTC (permalink / raw)
  To: Thomas Meyer; +Cc: tpmdd-devel, Rajiv Andrade, James Morris, linux-kernel

On Sat, Jul 17, 2010 at 04:12:23PM +0200, Thomas Meyer wrote:
> Am Freitag, den 16.07.2010, 17:00 -0700 schrieb Sarah Sharp:
> > I recently upgraded to 2.6.35-rc4, and I discovered that suspend no
> > longer works on my Thinkpad x200s.  When I suspend with some programs
> > open (specifically while buffy is reading my maildirs), the suspend
> > light blinks forever and the system never suspends.
> > 
> > I bisected the issue down to commit b5edfef, which is a merge of James
> > Morris' security-testing-2.6 tree, that only included this commit:
> > 
> > commit 02a077c52ef7631275a79862ffd9f3dbe9d38bc2
> > Author: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
> > Date:   Mon Jun 14 13:58:22 2010 -0300
> > 
> >     TPM: ReadPubEK output struct fix
> >     
> >     This patch adds a missing element of the ReadPubEK command output,
> >     that prevents future overflow of this buffer when copying the
> >     TPM output result into it.
> >     
> >     Prevents a kernel panic in case the user tries to read the
> >     pubek from sysfs.
> >     
> >     Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
> >     Signed-off-by: James Morris <jmorris@namei.org>
> > 
> > diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
> > index 8e00b4d..792868d 100644
> > --- a/drivers/char/tpm/tpm.h
> > +++ b/drivers/char/tpm/tpm.h
> > @@ -224,6 +224,7 @@ struct      tpm_readpubek_params_out {
> >         u8      algorithm[4];
> >         u8      encscheme[2];
> >         u8      sigscheme[2];
> > +       __be32  paramsize;
> >         u8      parameters[12]; /*assuming RSA*/
> >         __be32  keysize;
> >         u8      modulus[256];
> > 
> > The dmesg captured over netconsole when suspend fails is attached, but
> > it doesn't look very interesting.  lspci output is also attached.  I
> > don't have any userspace programs installed that can use TPM, like
> > trousers or libtspi1.
> > 
> > If I try just removing the tpm_tis, tpm_bios, and tpm modules before
> > suspending, the suspend still fails.  If I recompile without TPM
> > hardware support (CONFIG_TCG_TPM=n), suspend still fails.  However, if I
> > also turn off the securityFS config option (CONFIG_SECURITYFS),
> > suspend succeeds.
> > 
> > It looks like an odd commit to cause a suspend failure, but when I reset
> > the git HEAD to the commit before the merge of this patch, and suspend
> > works fine.  Can you fix this?
> > 
> > Sarah Sharp
> 
> Maybe same as https://bugzilla.kernel.org/show_bug.cgi?id=16256 ?

That doesn't look really similar.  The user found a different patch at
fault, and they were also able to successfully suspend when the tpm_tis
module was removed, but suspend still breaks for me in that case.
Suspend breaks with that commit even when I don't compile any tpm
modules at all.  But I'll try Helmut's fix[1] and let you know if it
works.

Sarah Sharp

[1] http://sourceforge.net/mailarchive/message.php?msg_name=201006091511.09810.helmut.schaa%40googlemail.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: TPM bug fix causes hang on suspend (2.6.35-rc4)
  2010-07-19 17:05   ` Sarah Sharp
@ 2010-08-10 18:31     ` Sarah Sharp
  0 siblings, 0 replies; 4+ messages in thread
From: Sarah Sharp @ 2010-08-10 18:31 UTC (permalink / raw)
  To: Thomas Meyer; +Cc: tpmdd-devel, Rajiv Andrade, James Morris, linux-kernel

On Mon, Jul 19, 2010 at 10:05:41AM -0700, Sarah Sharp wrote:
> On Sat, Jul 17, 2010 at 04:12:23PM +0200, Thomas Meyer wrote:
> > Am Freitag, den 16.07.2010, 17:00 -0700 schrieb Sarah Sharp:
> > > I recently upgraded to 2.6.35-rc4, and I discovered that suspend no
> > > longer works on my Thinkpad x200s.  When I suspend with some programs
> > > open (specifically while buffy is reading my maildirs), the suspend
> > > light blinks forever and the system never suspends.
> > > 
> > > I bisected the issue down to commit b5edfef, which is a merge of James
> > > Morris' security-testing-2.6 tree, that only included this commit:
> > > 
> > > commit 02a077c52ef7631275a79862ffd9f3dbe9d38bc2
> > > Author: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
> > > Date:   Mon Jun 14 13:58:22 2010 -0300
> > > 
> > >     TPM: ReadPubEK output struct fix
> > >     
> > >     This patch adds a missing element of the ReadPubEK command output,
> > >     that prevents future overflow of this buffer when copying the
> > >     TPM output result into it.
> > >     
> > >     Prevents a kernel panic in case the user tries to read the
> > >     pubek from sysfs.
> > >     
> > >     Signed-off-by: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
> > >     Signed-off-by: James Morris <jmorris@namei.org>
> > > 
> > > diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
> > > index 8e00b4d..792868d 100644
> > > --- a/drivers/char/tpm/tpm.h
> > > +++ b/drivers/char/tpm/tpm.h
> > > @@ -224,6 +224,7 @@ struct      tpm_readpubek_params_out {
> > >         u8      algorithm[4];
> > >         u8      encscheme[2];
> > >         u8      sigscheme[2];
> > > +       __be32  paramsize;
> > >         u8      parameters[12]; /*assuming RSA*/
> > >         __be32  keysize;
> > >         u8      modulus[256];
> > > 
> > > The dmesg captured over netconsole when suspend fails is attached, but
> > > it doesn't look very interesting.  lspci output is also attached.  I
> > > don't have any userspace programs installed that can use TPM, like
> > > trousers or libtspi1.
> > > 
> > > If I try just removing the tpm_tis, tpm_bios, and tpm modules before
> > > suspending, the suspend still fails.  If I recompile without TPM
> > > hardware support (CONFIG_TCG_TPM=n), suspend still fails.  However, if I
> > > also turn off the securityFS config option (CONFIG_SECURITYFS),
> > > suspend succeeds.
> > > 
> > > It looks like an odd commit to cause a suspend failure, but when I reset
> > > the git HEAD to the commit before the merge of this patch, and suspend
> > > works fine.  Can you fix this?
> > > 
> > > Sarah Sharp
> > 
> > Maybe same as https://bugzilla.kernel.org/show_bug.cgi?id=16256 ?
> 
> That doesn't look really similar.  The user found a different patch at
> fault, and they were also able to successfully suspend when the tpm_tis
> module was removed, but suspend still breaks for me in that case.
> Suspend breaks with that commit even when I don't compile any tpm
> modules at all.  But I'll try Helmut's fix[1] and let you know if it
> works.

I tried the fix, and all seemed well for a while.  Then suspend randomly
broken again.  I've tried to update to 2.6.35, but I have the same issue
(constant blinking suspend light and the suspend never completes).

Sarah Sharp

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-08-10 18:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-17  0:00 TPM bug fix causes hang on suspend (2.6.35-rc4) Sarah Sharp
2010-07-17 14:12 ` Thomas Meyer
2010-07-19 17:05   ` Sarah Sharp
2010-08-10 18:31     ` Sarah Sharp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome