Commit-ID: d434936e4cbb10181463622962f30b989d3e9e19 Gitweb: http://git.kernel.org/tip/d434936e4cbb10181463622962f30b989d3e9e19 Author: Arnd Bergmann <a...@arndb.de> AuthorDate: Tue, 14 Mar 2017 13:12:53 +0100 Committer: Thomas Gleixner <t...@linutronix.de> CommitDate: Tue, 14 Mar 2017 20:30:30 +0100
mm, x86: Fix native_pud_clear build error We still get a build error in random configurations, after this has been modified a few times: In file included from include/linux/mm.h:68:0, from include/linux/suspend.h:8, from arch/x86/kernel/asm-offsets.c:12: arch/x86/include/asm/pgtable.h:66:26: error: redefinition of 'native_pud_clear' #define pud_clear(pud) native_pud_clear(pud) My interpretation is that the build error comes from a typo in __PAGETABLE_PUD_FOLDED, so fix that typo now, and remove the incorrect #ifdef around the native_pud_clear definition. Fixes: 3e761a42e19c ("mm, x86: fix HIGHMEM64 && PARAVIRT build config for native_pud_clear()") Fixes: a00cc7d9dd93 ("mm, x86: add support for PUD-sized transparent hugepages") Signed-off-by: Arnd Bergmann <a...@arndb.de> Acked-by: Dave Jiang <dave.ji...@intel.com> Cc: Kees Cook <keesc...@chromium.org> Cc: Dave Hansen <dave.han...@linux.intel.com> Cc: Hugh Dickins <hu...@google.com> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Borislav Petkov <b...@suse.de> Cc: Thomas Garnier <thgar...@google.com> Link: http://lkml.kernel.org/r/20170314121330.182155-1-a...@arndb.de Signed-off-by: Thomas Gleixner <t...@linutronix.de> --- arch/x86/include/asm/pgtable-3level.h | 3 --- arch/x86/include/asm/pgtable.h | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index 72277b1..50d35e3 100644 --- a/arch/x86/include/asm/pgtable-3level.h +++ b/arch/x86/include/asm/pgtable-3level.h @@ -121,12 +121,9 @@ static inline void native_pmd_clear(pmd_t *pmd) *(tmp + 1) = 0; } -#if !defined(CONFIG_SMP) || (defined(CONFIG_HIGHMEM64G) && \ - defined(CONFIG_PARAVIRT)) static inline void native_pud_clear(pud_t *pudp) { } -#endif static inline void pud_clear(pud_t *pudp) { diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 1cfb36b..585ee0d 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -62,7 +62,7 @@ extern struct mm_struct *pgd_page_get_mm(struct page *page); # define set_pud(pudp, pud) native_set_pud(pudp, pud) #endif -#ifndef __PAGETABLE_PMD_FOLDED +#ifndef __PAGETABLE_PUD_FOLDED #define pud_clear(pud) native_pud_clear(pud) #endif