kmemleak: Unable to handle kernel paging request
Catalin Marinas
catalin.marinas at arm.com
Sat Jun 14 22:05:18 EST 2014
On 13 Jun 2014, at 22:44, Benjamin Herrenschmidt <benh at kernel.crashing.org> 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
More information about the Linuxppc-dev
mailing list