Re: [patch 1/2] x86/mm/pti: Handle unaligned address gracefully in pti_clone_pagetable()

From: Thomas Gleixner
Date: Wed Aug 28 2019 - 15:45:13 EST


On Wed, 28 Aug 2019, Ingo Molnar wrote:
> > pmd = pmd_offset(pud, addr);
> > if (pmd_none(*pmd)) {
> > - addr += PMD_SIZE;
> > + WARN_ON_ONCE(addr & PMD_MASK);
> > + addr = round_up(addr + 1, PMD_SIZE);
>
> So given that PUD_MASK and PMD_MASK are masking out the *offset*:
>
> arch/x86/include/asm/pgtable_64_types.h:#define PMD_MASK (~(PMD_SIZE - 1))
>
> Didn't we want something like:
>
> WARN_ON_ONCE(addr & ~PUD_MASK);
>
> WARN_ON_ONCE(addr & ~PMD_MASK);
>
> to warn about an unaligned 'addr', or am I misreading the intent here?

Bah, right you are...