Hi Qian, On Wed, Mar 13, 2019 at 10:57:17AM -0400, Qian Cai wrote: > @@ -1531,7 +1547,14 @@ static void kmemleak_scan(void) > > /* data/bss scanning */ > scan_large_block(_sdata, _edata); > - scan_large_block(__bss_start, __bss_stop); > + > + if (bss_hole_start) { > + scan_large_block(__bss_start, bss_hole_start); > + scan_large_block(bss_hole_stop, __bss_stop); > + } else { > + scan_large_block(__bss_start, __bss_stop); > + } > + > scan_large_block(__start_ro_after_init, __end_ro_after_init); I'm not a fan of this approach but I couldn't come up with anything better. I was hoping we could check for PageReserved() in scan_block() but on arm64 it ends up not scanning the .bss at all. Until another user appears, I'm ok with this patch. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>