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: <alpine.LFD.1.10.0808291919080.3300@nehalem.linux-foundation.org>
Date:	Fri, 29 Aug 2008 19:33:49 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Yinghai Lu <yhlu.kernel@...il.com>
cc:	"Rafael J. Wysocki" <rjw@...k.pl>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Jeff Garzik <jeff@...zik.org>, Tejun Heo <htejun@...il.com>,
	Ingo Molnar <mingo@...e.hu>,
	David Witbrodt <dawitbro@...global.net>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Kernel Testers <kernel-testers@...r.kernel.org>
Subject: Re: Linux 2.6.27-rc5: System boot regression caused by commit
 a2bd7274b47124d2fc4dfdb8c0591f545ba749dd



On Fri, 29 Aug 2008, Yinghai Lu wrote:
> 
> the root cause is:
> before 2.6.26, call init_apic_mapping and will insert_resource for
> lapic address.
> and then call e820_resource_resouce (with request_resource) to
> register e820 entries.

So the problem there was that traditionally, e820_reserve_resource() 
expected to be the first one to populate any resources. That's changed, 
and that's why it now needs to use "insert_resource()" rather than 
"request_resource()".

> so the lapic entry in the resource tree will prevent some entry in
> e820 to be registered.
> later request_resource for BAR res (==hpet) will succeed.
> 
> from 2.6.26. we move lapic address registering to late_initcall, so
> the entry is reserved in e820 getting into resource tree at first.
> and later pci_resource_survey::request_resource for BAR res (==hpet,
> 0xfed00000) will fail. so pci_assign_unsigned... will get new
> res for the BAR, so it messed up hpet setting.

So this didn't work _originally_ either? 

> solutions will be
> 1. use quirk to protect hpet in BAR, Ingo said it is not generic.

Yeah, I don't like it. The quirk I was talking about was the one about 
apparetly bogus MMIO address:

>> pci 0000:00:00.0: BAR has MMCONFIG at e0000000-ffffffff
>        PCI: Using MMCONFIG at e0000000 - efffffff
>
> Where did it get that bogus "ffffffff" end address?

which you said came from another BAR. That isn't the HPET.


> 2. or the one you are reverted... check_bar_with_valid. (hpet, ioapic,
> mmconfig) --> happenly reveal another problem with Rafael's
> system/chipset.

Yeah, no, that's horrid. I'm happy it's reverted.

> 3. or sticky resource... , but could have particallly overlapping

And no, this doesn't work.

> 4. or don't register reserved entries in e820.. Eric, Nacked.

Yeah, no, we do want reserved entries from e820 to show up to at least 
stop late _dynamic_ allocations from taking over.

> 5. or you sugges, regiser some reserved entries later...., and have
> insert_resource_expand_to_fit...

Yes. And I do think this is a workable model.

			Linus
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ