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  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 29 Mar 2014 00:11:48 -0700
From:	Yinghai Lu <yinghai@...nel.org>
To:	Parag Warudkar <parag.lkml@...il.com>
Cc:	LKML <linux-kernel@...r.kernel.org>,
	Bjorn Helgaas <bhelgaas@...gle.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: BAR 14: can't assign mem (size 0x200000)

On Fri, Mar 28, 2014 at 6:55 PM, Parag Warudkar <parag.lkml@...il.com> wrote:
>> Can you send out whole boot log (include init booting and from resume) and
>> lspci -tv and lspci -vvxxxx ?
>
> lspci -tv
> -----------
> ~# lspci -tv
> -[0000:00]-+-00.0  Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller
>            +-02.0  Intel Corporation Xeon E3-1200 v3 Processor
> Integrated Graphics Controller
>            +-03.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core
> Processor HD Audio Controller
>            +-14.0  Intel Corporation 8 Series/C220 Series Chipset
> Family USB xHCI
>            +-16.0  Intel Corporation 8 Series/C220 Series Chipset
> Family MEI Controller #1
>            +-16.3  Intel Corporation 8 Series/C220 Series Chipset
> Family KT Controller
>            +-19.0  Intel Corporation Ethernet Connection I217-LM
>            +-1a.0  Intel Corporation 8 Series/C220 Series Chipset
> Family USB EHCI #2
>            +-1b.0  Intel Corporation 8 Series/C220 Series Chipset High
> Definition Audio Controller
>            +-1c.0-[01]--
>            +-1c.3-[02-03]----00.0-[03]--
>            +-1c.4-[04-3c]--
>            +-1d.0  Intel Corporation 8 Series/C220 Series Chipset
> Family USB EHCI #1
>            +-1f.0  Intel Corporation C226 Series Chipset Family Server
> Advanced SKU LPC Controller
>            +-1f.2  Intel Corporation 8 Series/C220 Series Chipset
> Family 6-port SATA Controller 1 [AHCI mode]
>            \-1f.3  Intel Corporation 8 Series/C220 Series Chipset
> Family SMBus Controller
>
> lspci -vvxxxx and dmesg output are kind of big, so attached.

Hi, Parag,

For the boot path, kernel is right.
BIOS does not assign resource for
00:1c.0, (io, mmio, mmio pref), 00:1c.3(io, mmio, mmio pref), 00:1c.4 (io).

but 00:1c.0 00:1c.4 support hotplug either in acpiphp or pcie slot cap.

[    0.263398] acpiphp: Slot [1] registered
[    0.263405] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.263884] acpiphp: Slot [1-1] registered
[    0.263891] pci 0000:00:1c.4: PCI bridge to [bus 04-3c]

so kernel assign new resource to them.

[    0.281764] pci 0000:00:1c.0: BAR 14: assigned [mem 0x9f200000-0x9f3fffff]
[    0.281768] pci 0000:00:1c.0: BAR 15: assigned [mem
0x9f400000-0x9f5fffff 64bit pref]
[    0.281770] pci 0000:00:1c.0: BAR 13: assigned [io  0x2000-0x2fff]
[    0.281771] pci 0000:00:1c.4: BAR 13: assigned [io  0x3000-0x3fff]

but 00:1c.3 ==> 02:00.0 (bus 03) does not support hotplug.
so kernel does not assign resource 00:1c.3.

Later during resuming, kernel try to assign resource 02:00.0 but it will fail
as parent bridge 00:1c.3 has no resource.
(Not sure how pci_configure_slot get called with this resume path).

so you will have

[11548.934659] pci 0000:02:00.0: BAR 14: can't assign mem (size 0x200000)
[11548.934661] pci 0000:02:00.0: BAR 15: can't assign mem pref (size 0x200000)
[11548.934662] pci 0000:02:00.0: BAR 13: can't assign io (size 0x1000)
[11548.934664] pci 0000:02:00.0: BAR 14: can't assign mem (size 0x200000)
[11548.934666] pci 0000:02:00.0: BAR 15: can't assign mem pref (size 0x200000)
[11548.934667] pci 0000:02:00.0: BAR 13: can't assign io (size 0x1000)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists