Re: [PATCH 2/3] x86/mm: add TLB purge to free pmd/pte page interfaces

From: Joerg Roedel
Date: Tue May 15 2018 - 13:39:08 EST


On Mon, Apr 30, 2018 at 11:59:24AM -0600, Toshi Kani wrote:
> int pud_free_pmd_page(pud_t *pud, unsigned long addr)
> {
> - pmd_t *pmd;
> + pmd_t *pmd, *pmd_sv;
> + pte_t *pte;
> int i;
>
> if (pud_none(*pud))
> return 1;
>
> pmd = (pmd_t *)pud_page_vaddr(*pud);
> + pmd_sv = (pmd_t *)__get_free_page(GFP_KERNEL);

So you need to allocate a page to free a page? It is better to put the
pages into a list with a list_head on the stack.

I am still on favour of just reverting the broken commit and do a
correct and working fix for the/a merge window.


Joerg