• Christophe Leroy's avatar
    powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak · 803d690e
    Christophe Leroy authored
    When a process allocates a hugepage, the following leak is
    reported by kmemleak. This is a false positive which is
    due to the pointer to the table being stored in the PGD
    as physical memory address and not virtual memory pointer.
    
    unreferenced object 0xc30f8200 (size 512):
      comm "mmap", pid 374, jiffies 4872494 (age 627.630s)
      hex dump (first 32 bytes):
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<e32b68da>] huge_pte_alloc+0xdc/0x1f8
        [<9e0df1e1>] hugetlb_fault+0x560/0x8f8
        [<7938ec6c>] follow_hugetlb_page+0x14c/0x44c
        [<afbdb405>] __get_user_pages+0x1c4/0x3dc
        [<b8fd7cd9>] __mm_populate+0xac/0x140
        [<3215421e>] vm_mmap_pgoff+0xb4/0xb8
        [<c148db69>] ksys_mmap_pgoff+0xcc/0x1fc
        [<4fcd760f>] ret_from_syscall+0x0/0x38
    
    See commit a984506c ("powerpc/mm: Don't report PUDs as
    memory leaks when using kmemleak") for detailed explanation.
    
    To fix that, this patch tells kmemleak to ignore the allocated
    hugepage table.
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    803d690e
hugetlbpage.c 22.1 KB