Re: [PATCH] x86/memory: Drop pud_mknotpresent()

From: Baoquan He
Date: Sun Mar 22 2020 - 21:37:45 EST


On 03/23/20 at 06:35am, Anshuman Khandual wrote:
> There is an inconsistency between PMD and PUD based THP page table helpers
> like the following, as pud_present() does not test for _PAGE_PSE.
>
> pmd_present(pmd_mknotpresent(pmd)) : True
> pud_present(pud_mknotpresent(pud)) : False
>
> This drops pud_mknotpresent() as there are no current users. If/when needed
> back later, pud_present() will also have to fixed to accommodate _PAGE_PSE.
>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
> Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: x86@xxxxxxxxxx
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> ---
> This has been build and boot tested on x86.
>
> Changes in V2:
>
> - Dropped pud_mknotpresent() instead per Kirill
>
> Changes in V1: (https://patchwork.kernel.org/patch/11444529/)
>
> arch/x86/include/asm/pgtable.h | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
> index 7e118660bbd9..d74dc560e3ab 100644
> --- a/arch/x86/include/asm/pgtable.h
> +++ b/arch/x86/include/asm/pgtable.h
> @@ -595,12 +595,6 @@ static inline pmd_t pmd_mknotpresent(pmd_t pmd)
> __pgprot(pmd_flags(pmd) & ~(_PAGE_PRESENT|_PAGE_PROTNONE)));
> }
>
> -static inline pud_t pud_mknotpresent(pud_t pud)
> -{
> - return pfn_pud(pud_pfn(pud),
> - __pgprot(pud_flags(pud) & ~(_PAGE_PRESENT|_PAGE_PROTNONE)));
> -}
> -
> static inline u64 flip_protnone_guard(u64 oldval, u64 val, u64 mask);
>
> static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)

Reviewed-by: Baoquan He <bhe@xxxxxxxxxx>