Messages in this thread | | | From | Joerg Roedel <> | Subject | [PATCH 0/3 v3] Sync unmappings in vmalloc/ioremap areas | Date | Fri, 19 Jul 2019 20:46:49 +0200 |
| |
Hi,
here is a small patch-set to sync unmappings in the vmalloc/ioremap areas between page-tables in the system.
This is only needed x86-32 with !SHARED_KERNEL_PMD, which is the case on a PAE kernel with PTI enabled.
On affected systems the missing sync causes old mappings to persist in some page-tables, causing data corruption and other undefined behavior.
Please review.
Thanks,
Joerg
Changes v2 -> v3:
- Moved the vmalloc_sync_all() call to the lazy vmap purge function as requested by Andy Lutomirski
- Made sure that the code in vmalloc_sync_all() really iterates over all pgds (pointed out by Thomas Gleixner)
- Added a couple of comments
Changes v1 -> v2:
- Added correct Fixes-tags to all patches
Joerg Roedel (3): x86/mm: Check for pfn instead of page in vmalloc_sync_one() x86/mm: Sync also unmappings in vmalloc_sync_all() mm/vmalloc: Sync unmappings in vunmap_page_range()
arch/x86/mm/fault.c | 15 ++++++--------- mm/vmalloc.c | 9 +++++++++ 2 files changed, 15 insertions(+), 9 deletions(-)
-- 2.17.1
| |