[PATCH v4 0/3] fix free pmd/pte page handlings on x86

From: Toshi Kani
Date: Wed Jun 27 2018 - 10:15:54 EST


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(-)