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-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200809111858.48872.elendil@planet.nl>
Date:	Thu, 11 Sep 2008 18:58:47 +0200
From:	Frans Pop <elendil@...net.nl>
To:	Bjorn Helgaas <bjorn.helgaas@...com>
Cc:	linux-kernel@...r.kernel.org, Rene Herman <rene.herman@...il.com>,
	Ingo Molnar <mingo@...e.hu>,
	Thomas Gleixner <tglx@...utronix.de>,
	Matthew Wilcox <matthew@....cx>
Subject: Re: [bisected][resend] pnp: Huge number of "io resource overlap" messages

On Wednesday 10 September 2008, Bjorn Helgaas wrote:
> Are there any BIOS setup options related to them?

The BIOS setup has no options to enable/disable these devices.

The only option I can see that could be relevant is:
=CONFIGURATION=
Device Config. = [Setup by OS | All Devices]

This was set to "Setup by OS".

[me reboots with that option changed]

Hmm. If I change that option to "All devices" the "io resource overlap"
messages disappear!

> If I were trying to figure out where we assign resources, I'd probably
> boot with "pci=earlydump" and sprinkle calls to early_dump_pci_device()
> in pcibios_resource_survey(), and drill down from there.

Attached are two logs with PCI debugging enabled and extra "early dumps"
included in the following places (changes in includes omitted):

+++ b/arch/x86/pci/i386.c
@@ -31,6 +31,7 @@
@@ -224,9 +225,11 @@ static int __init pcibios_assign_resources(void)
 void __init pcibios_resource_survey(void)
 {
        DBG("PCI: Allocating resources\n");
+       early_dump_pci_devices();
        pcibios_allocate_bus_resources(&pci_root_buses);
        pcibios_allocate_resources(0);
        pcibios_allocate_resources(1);
+       early_dump_pci_devices();
 }

+++ b/sound/pci/intel8x0.c
@@ -41,6 +41,7 @@
@@ -2799,6 +2800,7 @@ static int __devinit snd_intel8x0_create(struct snd_card *card,

        if ((err = pci_enable_device(pci)) < 0)
                return err;
+       early_dump_pci_devices();

        chip = kzalloc(sizeof(*chip), GFP_KERNEL);
        if (chip == NULL) {

The "Setup by OS" log does show the following _after_ the PNP quirks:
pci 0000:00:1f.5: BAR 2: got res [0x2c080800-0x2c0809ff] bus [0x2c080800-0x2c0809ff] flags 0x20200
pci 0000:00:1f.5: BAR 2: moved to bus [0x2c080800-0x2c0809ff] flags 0x20200
pci 0000:00:1f.5: BAR 0: got res [0x1000-0x10ff] bus [0x1000-0x10ff] flags 0x20101
pci 0000:00:1f.5: BAR 0: moved to bus [0x1000-0x10ff] flags 0x20101
pci 0000:00:1f.5: BAR 3: got res [0x2c080a00-0x2c080aff] bus [0x2c080a00-0x2c080aff] flags 0x20200
pci 0000:00:1f.5: BAR 3: moved to bus [0x2c080a00-0x2c080aff] flags 0x20200
pci 0000:00:1f.6: BAR 0: got res [0x1400-0x14ff] bus [0x1400-0x14ff] flags 0x20101
pci 0000:00:1f.6: BAR 0: moved to bus [0x1400-0x14ff] flags 0x20101
pci 0000:00:1f.6: BAR 1: got res [0x1800-0x187f] bus [0x1800-0x187f] flags 0x20101
pci 0000:00:1f.6: BAR 1: moved to bus [0x1800-0x187f] flags 0x20101
pci 0000:00:1f.5: BAR 1: got res [0x1880-0x18bf] bus [0x1880-0x18bf] flags 0x20101
pci 0000:00:1f.5: BAR 1: moved to bus [0x1880-0x18bf] flags 0x20101

The diff between the logs is quite clear and illumination. It also shows
differences in the "early dumps". Hope you can tell more from that.
If you'd like me to do more instrumentation, please let me know.

I guess I'll leave that BIOS option in the "All devices" setting. However,
I doubt I'm the only person who has it in the "Setup by OS" setting.

Cheers,
FJP


Download attachment "all-devices.dmesg.gz" of type "application/x-gzip" (10681 bytes)

Download attachment "setup-by-os.dmesg.gz" of type "application/x-gzip" (11469 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ