Nadav and Mel founded several subtle races caused by TLB batching. This patchset aims for solving thoses problems using embedding [set|clear]_tlb_flush_pending to TLB batching API. With that, places to know TLB flush pending catch it up by using mm_tlb_flush_pending.
Each patch includes detailed description. This patchset is based on v4.13-rc2-mmots-2017-07-26-16-16 + revert: "mm: prevent racy access to tlb_flush_pending" + adding: "[PATCH v3 0/2] mm: fixes of tlb_flush_pending races". Minchan Kim (3): mm: make tlb_flush_pending global mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem mm: fix KSM data corruption arch/arm/include/asm/tlb.h | 15 ++++++++++++++- arch/ia64/include/asm/tlb.h | 12 ++++++++++++ arch/s390/include/asm/tlb.h | 15 +++++++++++++++ arch/sh/include/asm/tlb.h | 4 +++- arch/um/include/asm/tlb.h | 8 ++++++++ fs/proc/task_mmu.c | 4 +++- include/linux/mm_types.h | 22 +++++----------------- kernel/fork.c | 2 -- mm/debug.c | 2 -- mm/ksm.c | 3 ++- mm/memory.c | 24 ++++++++++++------------ 11 files changed, 74 insertions(+), 37 deletions(-) -- 2.7.4