This series fixes two issues in the x86 ioremap free page handlings for pud/pmd mappings. Patch 01 fixes BUG_ON on x86-PAE reported by Joerg. It disables the free page handling on x86-PAE. Patch 02-03 fixes a possible issue with speculation which can cause stale page-directory cache. - Patch 02 is from Chintan's v9 01/04 patch [1], which adds a new arg 'addr', with my merge change to patch 01. - Patch 03 adds a TLB purge (INVLPG) to purge page-structure caches that may be cached by speculation. See the patch descriptions for more detal. The patches are based off from the tip tree. [1] https://patchwork.kernel.org/patch/10371015/ v4: - Re-wrote patch 2/3 description. (v3-UPDATE) - Added NOTE to pud_free_pmd_page(). v3: - Fixed a build error in v2. v2: - Reordered patch-set, so that patch 01 can be applied independently. - Added a NULL pointer check for the page alloc in patch 03. --- Toshi Kani (2): 1/3 x86/mm: disable ioremap free page handling on x86-PAE 3/3 x86/mm: add TLB purge to free pmd/pte page interfaces Chintan Pandya (1): 2/3 ioremap: Update pgtable free interfaces with addr --- arch/arm64/mm/mmu.c | 4 +-- arch/x86/mm/pgtable.c | 61 +++++++++++++++++++++++++++++++++++++------ include/asm-generic/pgtable.h | 8 +++--- lib/ioremap.c | 4 +-- 4 files changed, 61 insertions(+), 16 deletions(-)