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