On 03/18/2020 10:31 AM, Anshuman Khandual wrote: > pud_present() should also check _PAGE_PROTNONE and _PAGE_PSE bits like in > case pmd_present(). This makes a PUD entry test positive for pud_present() > after getting invalidated with pud_mknotpresent(), hence standardizing the > semantics with PMD helpers. > > 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: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: x86@xxxxxxxxxx > Cc: linux-mm@xxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> > --- > Even though pud_mknotpresent() is not used any where currently, there is > a discrepancy between PMD and PUD. > > WARN_ON(!pud_present(pud_mknotpresent(pud_mkhuge(pud)))) -> Fail > WARN_ON(!pmd_present(pmd_mknotpresent(pmd_mkhuge(pmd)))) -> Pass > > Though pud_mknotpresent() currently clears _PAGE_PROTNONE, pud_present() > does not check it. This change fixes both inconsistencies. > > This has been build and boot tested on x86. Adding Kirill and Dan. +Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> +Cc: Dan Williams <dan.j.williams@xxxxxxxxx>