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  linux-cve-announce  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]
Message-Id: <201002011559.07869.trenn@suse.de>
Date:	Mon, 1 Feb 2010 15:59:07 +0100
From:	Thomas Renninger <trenn@...e.de>
To:	linux-kernel@...r.kernel.org
Cc:	yinghai@...nel.org, jbarnes@...tuousgeek.org,
	akpm@...ux-foundation.org, mingo@...e.hu
Subject: IRQ regression messes up xseries 330 SCI resulting in apic=off - bisected to commit b9c61b70075c87a861262473

Hi,

booting a latest kernel on this machine results in:

PCI: PCI BIOS revision 2.10 entry at 0xfd61c, last bus=1
PCI: Using configuration type 1 for base access bio: create slab <bio-0> at 0
ACPI: SCI (IRQ30) allocation failed
ACPI Exception: AE_NOT_ACQUIRED, Unable to install System Control Interrupt handler (20090903/evevent-161)
ACPI: Unable to start the ACPI Interpreter

Later all kind of devices fail...

I could bisect it down to this commit:
commit b9c61b70075c87a8612624736faf4a2de5b1ed30
Author: Yinghai Lu <yinghai@...nel.org>
Date:   Wed May 6 10:10:06 2009 -0700

    x86/pci: update pirq_enable_irq() to setup io apic routing

    So we can set io apic routing only when enabling the device irq.

    This is advantageous for IRQ descriptor allocation affinity: if we set up
    the IO-APIC entry later, we have a chance to allocate the IRQ descriptor
    later and know which device it is on and can set affinity accordingly.

    [ Impact: standardize/enhance irq-enabling sequence for mptable irqs ]

    Signed-off-by: Yinghai Lu <yinghai@...nel.org>
    Acked-by: Jesse Barnes <jbarnes@...tuousgeek.org>
    Cc: Len Brown <lenb@...nel.org>
    Cc: Andrew Morton <akpm@...ux-foundation.org>
    LKML-Reference: <4A01C46E.8000501@...nel.org>
    Signed-off-by: Ingo Molnar <mingo@...e.hu>



Attached are dmesg of an umodified broken 2.6.32 kernel and
dmesg of a 2.6.32 kernel in which I reverted above patch (apic=verbose).
The reverting needed some adjusting and I did this without understanding
the code. I also attach the backported patch reverting above for 2.6.32
which makes the machine work again (see dmesg attachment).
This probably cannot go in, it would be great if someone could help
finding a proper patch for mainline which makes the machine work again.
(The ACPI irq, SCI, is meant to be on IRQ 30, rerouted from IRQ 3 via
APIC source override table, which is rather odd/uncommon. Hope that helps)

Thanks,

    Thomas

View attachment "dmesg_2.6.32_boots_apic_verbose.txt" of type "text/plain" (40939 bytes)

View attachment "dmesg_2.6.32_does_not_boot.txt" of type "text/plain" (64079 bytes)

View attachment "x86_xseries_330_sci_irq.fix" of type "text/x-vhdl" (9387 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ