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]
Date:	Wed, 8 Nov 2006 10:08:23 -0800 (PST)
From:	Linus Torvalds <torvalds@...l.org>
To:	Adrian Bunk <bunk@...sta.de>, Jeff Chua <jeff.chua.linux@...il.com>
cc:	Matthew Wilcox <matthew@....cx>, Andi Kleen <ak@...e.de>,
	Aaron Durbin <adurbin@...gle.com>,
	Andrew Morton <akpm@...l.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	gregkh@...e.de, linux-pci@...ey.karlin.mff.cuni.cz
Subject: Re: [discuss] Re: 2.6.19-rc4: known unfixed regressions (v3)



On Wed, 8 Nov 2006, Linus Torvalds wrote:
>
> And pci_mmcfg_init() will refuse to even use MMCONFIG unless either the 
> direct probe failed _or_ the MMCONFIG area is marked entirely reserved 
> in the e820 tables. Exactly because MMCONFIG generally doesn't _work_.

Ahh. I see the bug now.

When we check whether MMCONFIG is ok, we do this:

	if (type == 1 && !e820_all_mapped(pci_mmcfg_config[0].base_address,
			pci_mmcfg_config[0].base_address + MMCONFIG_APER_MIN,
                        E820_RESERVED)) {

ie we check whether there is room for MMCONFIG_APER_MIN reserved things.

We then _reserve_ a totally different region in 
pci_mmcfg_insert_resources(), because we use a totally different range.

What a piece of crap. 

Andi, I'm getting really upset about this kind of thing. You've been very 
much not careful about MMCFG in general, and are allowing total crap to go 
into the kernel, without any thought. Just "testing" something isn't good 
enough, it needs to be thought out.

I'm going to revert that totally bogus commit that added that broken 
"pci_mmcfg_insert_resources()" function. It could be done right, but doing 
it right would require that the function 

 - be called _before_ deciding to use MMCFG 
 - return an error number if it couldn't allocate the things
 - check that the region was reserved

and then if some reservation failed, we shouldn't use MMCONFIG in the 
first place. 

We really should stop using MMCONFIG entirely, until we have a 
per-southbridge true knowledge of what the real decoding is. The BIOS 
tables for this are simply too damn unreliable.

		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