lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170314164927.GA28939@djiang5-desk3.ch.intel.com>
Date:   Tue, 14 Mar 2017 09:49:30 -0700
From:   "Jiang, Dave" <dave.jiang@...el.com>
To:     Arnd Bergmann <arnd@...db.de>
Cc:     Thomas Gleixner <tglx@...utronix.de>,
        Ingo Molnar <mingo@...hat.com>,
        "H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
        Andrew Morton <akpm@...ux-foundation.org>,
        Thomas Garnier <thgarnie@...gle.com>,
        Kees Cook <keescook@...omium.org>,
        Dave Hansen <dave.hansen@...ux.intel.com>,
        Hugh Dickins <hughd@...gle.com>, Borislav Petkov <bp@...e.de>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm, x86: fix native_pud_clear build error

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@...db.de>

Ackedy-by: Dave Jiang <dave.jiang@...el.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@...el.com

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ