Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754363AbdDLPqc (ORCPT ); Wed, 12 Apr 2017 11:46:32 -0400 Received: from mga09.intel.com ([134.134.136.24]:57010 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752286AbdDLPq3 (ORCPT ); Wed, 12 Apr 2017 11:46:29 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,191,1488873600"; d="scan'208";a="1118652049" From: "Moore, Robert" To: Jarkko Sakkinen , Paul Menzel CC: "Maciej S. Szmigiero" , "linux-kernel@vger.kernel.org" , Arthur Heymans , "tpmdd-devel@lists.sourceforge.net" , "GNUtoo@no-log.org" , "Zheng, Lv" , "Wysocki, Rafael J" Subject: RE: [Regression Linux 4.11] TPM module not loaded anymore (was: Regression between Linux 3.16 and 4.8/4.9 on Lenovo X60 with coreboot) Thread-Topic: [Regression Linux 4.11] TPM module not loaded anymore (was: Regression between Linux 3.16 and 4.8/4.9 on Lenovo X60 with coreboot) Thread-Index: AQHSsVebTfzpUo188UuqYHpETkCQpKHBQMkAgACkWzA= Date: Wed, 12 Apr 2017 15:46:26 +0000 Message-ID: <94F2FBAB4432B54E8AACC7DFDE6C92E37E592518@ORSMSX110.amr.corp.intel.com> References: <20170406165557.GD7657@obsidianresearch.com> <3d62bd7d4addc020c2f8e3c2edf3280e@molgen.mpg.de> <20170406191013.GA25011@obsidianresearch.com> <20170407201347.2qcyrdzgg2yikoen@intel.com> <1491759283.1152.12.camel@molgen.mpg.de> <20170411225757.yoi2puygipigucjh@intel.com> In-Reply-To: <20170411225757.yoi2puygipigucjh@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.22.254.140] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v3CFkaUW027892 Content-Length: 5616 Lines: 129 I'll try to look at it today Bob > -----Original Message----- > From: Jarkko Sakkinen [mailto:jarkko.sakkinen@linux.intel.com] > Sent: Tuesday, April 11, 2017 3:58 PM > To: Paul Menzel > Cc: Moore, Robert ; Maciej S. Szmigiero > ; linux-kernel@vger.kernel.org; Arthur > Heymans ; tpmdd-devel@lists.sourceforge.net; > GNUtoo@no-log.org; Zheng, Lv ; Wysocki, Rafael J > > Subject: Re: [Regression Linux 4.11] TPM module not loaded anymore (was: > Regression between Linux 3.16 and 4.8/4.9 on Lenovo X60 with coreboot) > > On Sun, Apr 09, 2017 at 07:34:43PM +0200, Paul Menzel wrote: > > Dear Linux folks, > > > > > > It turns out that stricter checks in the ACPI subsystem, introduced in > > commit 57707a9a77 (ACPICA: Resources: Not a valid resource if buffer > > length too long) [1], cause the TPM module not to be loaded anymore on > > the Lenovo X60 with coreboot [2]. > > > > Am Freitag, den 07.04.2017, 22:58 +0200 schrieb Paul Menzel: > > > On 2017-04-07 22:13, Jarkko Sakkinen wrote: > > > > On Thu, Apr 06, 2017 at 01:10:13PM -0600, Jason Gunthorpe wrote: > > > >> On Thu, Apr 06, 2017 at 08:26:22PM +0200, Paul Menzel wrote: > > > >> > >We added direct ACPI binding to the driver in addition to PNP, > > > >> > >so if you have an ACPI table it goes down that path and does > > > >> > >some additional validation of what is in the TPM. The BIOS > > > >> > >must provide a acpi_dev_resource_memory and a ACPI_SIG_TPM2 > > > >> > >for the ACPI entry at a minimum. > > > >> > > > > >> > Is it correct, that this is added in/for 4.11, so just > > > >> > recently? Testing with Linux 4.10.8, everything is detected > just fine. > > > >> > > > >> No, it is quite a bit older.. And it should only go for TPM2, > > > >> which I don't think you have?? > > > >> > > > >> Maybe Jarkko has a guess, but sure sounds like something is > > > >> recently broken in 4.11 > > > > > > > > I'll come back to this. I have to re-read the whole mail thread to > > > > get back into the context. Lots of multitasking because of release > > > > and so forth. Sorry for the latency! > > > > > > I started bisecting this issue. This is the current state. > > > > […] > > > > Here are the results. > > > > ``` > > git bisect log > > # bad: [7a771ceac771d009f7203c40b256b0608d7ea2f8] Merge tag > > 'dm-4.11-changes' of > > git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm > > # good: [c470abd4fde40ea6a0846a2beab642a578c0b8cd] Linux 4.10 git > > bisect start 'HEAD' 'v4.10' > > # good: [b3de5ad688f0f52457e73767f95a640ab4158d0d] Merge tag > > 'regmap-v4.11' of > > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap > > git bisect good b3de5ad688f0f52457e73767f95a640ab4158d0d > > # bad: [fd4a61e08aa79f2b7835b25c6f94f27bd2d65990] sched/core: Fix > > build paravirt build on arm and arm64 git bisect bad > > fd4a61e08aa79f2b7835b25c6f94f27bd2d65990 > > # good: [7aa7d608112baf63a0b1278955f9619427373807] Merge tag > > 'leds_for_4.11' of > > git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds > > git bisect good 7aa7d608112baf63a0b1278955f9619427373807 > > # good: [02c3de1105228e367320e7fdeffbf511904f398c] Merge tag > > 'pm-4.11-rc1' of > > git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm > > git bisect good 02c3de1105228e367320e7fdeffbf511904f398c > > # bad: [6c24337f22115d669e24ce990842dab667371b4d] Merge tag > > 'fscrypt-for-linus' of > > git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt > > git bisect bad 6c24337f22115d669e24ce990842dab667371b4d > > # bad: [a74d1cafc22e100a9b59c50943ca09c37e03dce8] Merge branches > 'acpi-bus', 'acpi-sleep' and 'acpi-processor' > > git bisect bad a74d1cafc22e100a9b59c50943ca09c37e03dce8 > > # bad: [ce87e09dd88c61f9088768a7708828423549725c] ACPICA: Parser: > > Allow method invocations as target operands git bisect bad > > ce87e09dd88c61f9088768a7708828423549725c > > # good: [0fc5e8f4e4b33ddfa1d1d673fcd420d6e13eb076] ACPICA: Hardware: > > Add sleep register hooks git bisect good > > 0fc5e8f4e4b33ddfa1d1d673fcd420d6e13eb076 > > # good: [a654b8ca6d28736995de767ba62e801fd806a3b2] ACPICA: > > Disassembler: Add Switch/Case disassembly support git bisect good > > a654b8ca6d28736995de767ba62e801fd806a3b2 > > # bad: [57707a9a7780fab426b8ae9b4c7b65b912a748b3] ACPICA: Resources: > > Not a valid resource if buffer length too long git bisect bad > > 57707a9a7780fab426b8ae9b4c7b65b912a748b3 > > # good: [7225d0467c59e55566df396d6ecd5baf26ef3d9b] ACPICA: Utilities: > > Update debug output git bisect good > > 7225d0467c59e55566df396d6ecd5baf26ef3d9b > > # first bad commit: [57707a9a7780fab426b8ae9b4c7b65b912a748b3] ACPICA: > > Resources: Not a valid resource if buffer length too long ``` > > > > I suggest, that just a warning is printed in this case, or that an > > option is added to enable some kind of “strict mode” or a quirk table. > > > > Please find the decompiled DSDT attached. The code to generate the ASL > > coreboot code is available [3]. > > > > Please tell me, what information you need. > > > > > > Kind regards, > > > > Paul > > > > > > [1] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com > > mit/?id=57707a9a778 [2] https://review.coreboot.org/13410/ > > [3] > > https://review.coreboot.org/cgit/coreboot.git/tree/src/drivers/pc80/tp > > m/tpm.c > > Hi, > > Thank you for bisecting the issue. It would have been hard to achieve > this without the hardware. Do you want to create a patch for ACPICA? > > /Jarkko