Re: kmemleak: Unable to handle kernel paging request

From: Catalin Marinas
Date: Sat Jun 14 2014 - 08:05:31 EST


On 13 Jun 2014, at 22:44, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 2014-06-13 at 09:56 +0100, Catalin Marinas wrote:
>
>> OK, so that's the DART table allocated via alloc_dart_table(). Is
>> dart_tablebase removed from the kernel linear mapping after allocation?
>
> Yes.
>
>> If that's the case, we need to tell kmemleak to ignore this block (see
>> patch below, untested). But I still can't explain how commit
>> d4c54919ed863020 causes this issue.
>>
>> (also cc'ing the powerpc list and maintainers)
>
> We remove the DART from the linear mapping because it has to be mapped
> non-cachable and having it in the linear mapping would cause cache
> paradoxes. We also can't just change the caching attributes in the
> linear mapping because we use 16M pages for it and 970 CPUs don't
> support cache-inhibited 16M pages :-( And due to the MMU segmentation
> model, we also can't mix & match page sizes in that area.
>
> So we just unmap it, and ioremap it elsewhere.

OK, thanks for the explanation. So the kmemleak annotation makes sense.

Would you please take the I patch earlier (I guess with Denis’ tested-
by). I can send it separately if more convenient.

Thanks,

Catalin--
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/