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] [day] [month] [year] [list]
Date:	Tue, 16 Dec 2008 21:05:34 -0700
From:	Matthew Wilcox <matthew@....cx>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Alex Chiang <achiang@...com>, justin.chen@...com,
	linux-kernel@...r.kernel.org
Subject: Re: PCI BAR mem resource allocation "regression"

On Sat, Dec 13, 2008 at 09:41:05AM -0800, Linus Torvalds wrote:
> Matthew: I do suspect that the "insert below" patch is wrong. Look at 
> "pci_claim_resource()", for example: it uses insert_resource() to insert 
> the PCI device resource into the resource tree. But if the PCI device 
> resource has the same size as the bus window, that commit changes it to 
> insert it as the _parent_ of the bus window, no?

You're quite correct.  This was actually the intended behaviour of
insert_resource() ... the problem is that pci_claim_resource() is using
it wrong.

> Of course, on a PC, the only user of pci_claim_resource() would be some 
> PCI quirks that should never trigger this, but it's an example of the kind 
> of behavioural change that that commit introduced, and which looks 
> like it could result in a wrong resource tree.
> 
> I'm not finding the original discussion that resulted in that patch, 
> though, so I have a somewhat hard time to judge the reasoning. It's from 
> almost three years ago, I don't remember details even if I had been 
> involved with it (and judging by the sign-off path, I hadn't).
> 
> Matthew, do you remember the context of that commmit d33b6fba2?

Basically it was that we came across a machine with the opposite problem
-- that we found a parent after we found a child (and claimed the
child's resources), and had no way to insert the parent's region above
the child's region.  Alex's machine finds the child after the parent and
needs to insert the child's resource inside the parent's resource.

pci_claim_resource() should be looking through the resources that belong
to the parent bus, trying to insert inside each of them, not just
taking the root resource and wandering all the way down.  I'll work on a
patch tomorrow to do that unless someone beats me to it.

-- 
Matthew Wilcox				Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
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