Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1600279 > unrolled thread

[PATCH] mm, x86: fix native_pud_clear build error

Started byArnd Bergmann <arnd@arndb.de>
First post2017-03-14 13:20 +0100
Last post2017-03-14 20:40 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mm, x86: fix native_pud_clear build error Arnd Bergmann <arnd@arndb.de> - 2017-03-14 13:20 +0100
    Re: [PATCH] mm, x86: fix native_pud_clear build error "Jiang, Dave" <dave.jiang@intel.com> - 2017-03-14 17:50 +0100
    [tip:x86/urgent] mm, x86: Fix native_pud_clear build error tip-bot for Arnd Bergmann <tipbot@zytor.com> - 2017-03-14 20:40 +0100

#1600279 — [PATCH] mm, x86: fix native_pud_clear build error

FromArnd Bergmann <arnd@arndb.de>
Date2017-03-14 13:20 +0100
Subject[PATCH] mm, x86: fix native_pud_clear build error
Message-ID<tkTAK-8qq-11@gated-at.bofh.it>
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 <arnd@arndb.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 72277b1028a5..50d35e3185f5 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 1cfb36b8c024..585ee0d42d18 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
 
-- 
2.9.0

[toc] | [next] | [standalone]


#1600693

From"Jiang, Dave" <dave.jiang@intel.com>
Date2017-03-14 17:50 +0100
Message-ID<tkXO2-2Py-37@gated-at.bofh.it>
In reply to#1600279
On Tue, Mar 14, 2017 at 01:12:53PM +0100, Arnd Bergmann wrote:
> 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 <arnd@arndb.de>

Ackedy-by: Dave Jiang <dave.jiang@intel.com>

Thanks for catching this Arnd. I built with all the other configs that were
failing before and they all passed.

> ---
>  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 72277b1028a5..50d35e3185f5 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 1cfb36b8c024..585ee0d42d18 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
>  
> -- 
> 2.9.0
> 

-- 

Dave Jiang
Software Engineer, Data Center Group
Intel Corp.
dave.jiang@intel.com

[toc] | [prev] | [next] | [standalone]


#1600851 — [tip:x86/urgent] mm, x86: Fix native_pud_clear build error

Fromtip-bot for Arnd Bergmann <tipbot@zytor.com>
Date2017-03-14 20:40 +0100
Subject[tip:x86/urgent] mm, x86: Fix native_pud_clear build error
Message-ID<tl0sy-4RE-5@gated-at.bofh.it>
In reply to#1600279
Commit-ID:  d434936e4cbb10181463622962f30b989d3e9e19
Gitweb:     http://git.kernel.org/tip/d434936e4cbb10181463622962f30b989d3e9e19
Author:     Arnd Bergmann <arnd@arndb.de>
AuthorDate: Tue, 14 Mar 2017 13:12:53 +0100
Committer:  Thomas Gleixner <tglx@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 <arnd@arndb.de>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Thomas Garnier <thgarnie@google.com>
Link: http://lkml.kernel.org/r/20170314121330.182155-1-arnd@arndb.de
Signed-off-by: Thomas Gleixner <tglx@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
 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web