[PATCH v3 0/6] tlb: Fix (soft-)dirty bit management & clean up API

From: Will Deacon
Date: Wed Jan 27 2021 - 18:55:01 EST


Hi everyone,

This is version three of the patches I previously posted here:

v1: https://lore.kernel.org/r/20201120143557.6715-1-will@xxxxxxxxxx
v2: https://lore.kernel.org/r/20201210121110.10094-1-will@xxxxxxxxxx

The objective is to fix the lacklustre TLB invalidation on the clear_refs
path and then augment the mmu_gather API to make it more difficult to
abuse.

Although there are other patch series pending to address related issues, I
don't think this relatively straightforward set of fixes should be blocked
on them.

Will

Cc: Yu Zhao <yuzhao@xxxxxxxxxx>
Cc: Minchan Kim <minchan@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx
Cc: Vlastimil Babka <vbabka@xxxxxxx>
Cc: Mohamed Alzayat <alzayat@xxxxxxxxxxx>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx>
Cc: Nadav Amit <namit@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: linux-mm@xxxxxxxxx

--->8

Will Deacon (6):
mm: proc: Invalidate TLB after clearing soft-dirty page state
tlb: mmu_gather: Remove unused start/end arguments from
tlb_finish_mmu()
tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm()
tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu()
tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs
x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables

arch/ia64/include/asm/tlb.h | 4 ++--
arch/sparc/include/asm/tlb_64.h | 1 -
arch/x86/include/asm/tlb.h | 1 -
arch/x86/kernel/ldt.c | 10 ++++++++--
fs/exec.c | 4 ++--
fs/proc/task_mmu.c | 9 +++++----
include/asm-generic/tlb.h | 6 ++++--
include/linux/mm_types.h | 7 +++----
mm/hugetlb.c | 18 ++----------------
mm/madvise.c | 12 ++++++------
mm/memory.c | 8 ++++----
mm/mmap.c | 8 ++++----
mm/mmu_gather.c | 31 +++++++++++++++++--------------
mm/oom_kill.c | 6 +++---
14 files changed, 60 insertions(+), 65 deletions(-)

--
2.30.0.365.g02bc693789-goog