Re: [PATCH] Resource: wrong resource window calculation

From: Ram Pai
Date: Wed Sep 28 2011 - 11:44:07 EST


On Thu, Sep 22, 2011 at 09:50:48PM +1200, Michal Ludvig wrote:
> On 09/22/2011 07:48 PM, Ram Pai wrote:
> > Resource: wrong resource window calculation
> >
> >__find_resource() incorrectly returns a resource window which overlaps an
> >existing allocated window. This happens when the parent's resource-window spans
> >0x00000000 to 0xffffffff and is entirely allocated to all its children
> >resource-windows.
> >
> >__find_resource() looks for gaps in resource allocation among the children
> >resource windows. When it encounters the last child window it blindly tries
> >the range next to one allocated to the last child. Since the last child's
> >window ends at 0xffffffff the calculation overflows, leading the algorithm to
> >believe that any window in the range 0x0000000 to 0xfffffff is available for
> >allocation. This leads to a conflicting window allocation.
> >
> >Michal Ludvig reported this issue seen on his platform. The following patch
> >fixes the problem and has been verified by Michal. I believe this bug has been
> >there for ages. It got exposed by git commit
> >2bbc6942273b5b3097bd265d82227bdd84b351b2
> >[PATCH] PCI : ability to relocate assigned pci-resources
> >
> >Signed-off-by: Ram Pai<linuxram@xxxxxxxxxx>
>
> Tested-by: Michal Ludvig <mludvig@xxxxxxxxxxxx>
>
> Works fine on top of 3.1.0-rc7 and solves the problem with my Jetway board.
>
> Thanks Ram!
>
> M.

Linus,

Do you plan to take this patch for 3.1? It fixes a regression w.r.t 3.0
https://bugzilla.kernel.org/show_bug.cgi?id=42002 captures the bug report.

RP

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/