Messages in this thread | | | Date | Wed, 12 Apr 2017 01:57:58 +0300 | From | Jarkko Sakkinen <> | 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/commit/?id=57707a9a778 > [2] https://review.coreboot.org/13410/ > [3] https://review.coreboot.org/cgit/coreboot.git/tree/src/drivers/pc80/tpm/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
| |