Re: Linux 2.6.26-rc4

From: Arjan van de Ven
Date: Mon May 26 2008 - 20:26:25 EST


On Mon, 26 May 2008 14:42:37 -0700 (PDT)
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

>
>
> On Mon, 26 May 2008, Jesper Krogh wrote:
> >
> > I did get this one (which I didn't on 2.6.25.2)
> >
> > [42949399.810959] ck804xrom ck804xrom_init_one(): Unable to
> > register resource 0x0000000000000000-0x00000000ffffffff - kernel
> > bug?
>
> Something is trying to register a 4GB resource. That sounds unlikely
> (possible on a 64-bit PCI setup, but I think it's more likely to be
> some overflow of 0 in "unsigned int").
>
> In fact, this seems to be due to some driver bug. It looks like we
> have
>
> window->size = 0xffffffffUL - window->phys + 1UL;
>
> and in order for window->size to be 0x100000000, that means that
> window->phys has to be 0. Which looks impossible, or at least like
> ent->driver_data is neither DEV_CK804 nor DEV_MCP55. Very odd.
>
> The warning:
>
> > [42949399.979924] WARNING: at arch/x86/mm/ioremap.c:159
> > __ioremap_caller+0x299/0x330()
>
> is then just a result of the driver blindly continuing and trying to
> "ioremap()" the resource even though it's bogus and the resource
> allocation failed.
>
> In other words, that driver init routine is really bad about error
> handling. Carl-Daniel? David?
>

btw this guy has shown up on kerneloops.org a lot:
http://www.kerneloops.org/searchweek.php?search=__ioremap_caller
where it's trying to map memory as uncachable, which is.. well nasty
(it seems to map not just the piece it needs, but more, and then turns
that "more" uncachable, even if the kernel is using it for "normal"
things)
--
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/