[PATCH 0/3] fix several TLB batch races

From: Minchan Kim
Date: Fri Jul 28 2017 - 02:42:49 EST


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