mm: thp: fix the pmd_clear() arguments in pmdp_get_and_clear()
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 8 Oct 2012 23:32:59 +0000 (16:32 -0700)
committerGrazvydas Ignotas <notasas@gmail.com>
Wed, 20 Feb 2013 21:19:24 +0000 (23:19 +0200)
The CONFIG_TRANSPARENT_HUGEPAGE implementation of pmdp_get_and_clear()
calls pmd_clear() with 3 arguments instead of 1.

This happens only for !__HAVE_ARCH_PMDP_GET_AND_CLEAR which doesn't seem
to happen because x86 defines this and it uses pmd_update.

[mhocko@suse.cz: changelog addition]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steve Capper <steve.capper@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-generic/pgtable.h

index bc00876..dd7ef8a 100644 (file)
@@ -86,7 +86,7 @@ static inline pmd_t pmdp_get_and_clear(struct mm_struct *mm,
                                       pmd_t *pmdp)
 {
        pmd_t pmd = *pmdp;
-       pmd_clear(mm, address, pmdp);
+       pmd_clear(pmdp);
        return pmd;
 }
 #endif /* CONFIG_TRANSPARENT_HUGEPAGE */