powerpc/kmemleak: Do not scan the DART table
The DART table allocation is registered to kmemleak via the memblock_alloc_base() call. However, the DART table is later unmapped and dart_tablebase VA no longer accessible. This patch tells kmemleak not to scan this block and avoid an unhandled paging request. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
aa83f3d897
commit
a1d23d5c94
@@ -476,6 +476,11 @@ void __init alloc_dart_table(void)
|
|||||||
*/
|
*/
|
||||||
dart_tablebase = (unsigned long)
|
dart_tablebase = (unsigned long)
|
||||||
__va(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L));
|
__va(memblock_alloc_base(1UL<<24, 1UL<<24, 0x80000000L));
|
||||||
|
/*
|
||||||
|
* The DART space is later unmapped from the kernel linear mapping and
|
||||||
|
* accessing dart_tablebase during kmemleak scanning will fault.
|
||||||
|
*/
|
||||||
|
kmemleak_no_scan((void *)dart_tablebase);
|
||||||
|
|
||||||
printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase);
|
printk(KERN_INFO "DART table allocated at: %lx\n", dart_tablebase);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user