[PATCH 0/7] Record the mm_struct in the page table pages

From: Matthew Wilcox
Date: Tue Apr 28 2020 - 15:45:04 EST


From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>

Pages which are in use as page tables have some space unused in struct
page. It would be handy to have a pointer to the struct mm_struct that
they belong to so that we can handle uncorrectable errors in page tables
more gracefully. There are a few other things we could use it for too,
such as checking that the page table entry actually belongs to the task
we think it ought to. This patch series does none of that, but does
lay the groundwork for it.

Matthew Wilcox (Oracle) (7):
mm: Document x86 uses a linked list of pgds
mm: Move pt_mm within struct page
arm: Thread mm_struct throughout page table allocation
arm64: Thread mm_struct throughout page table allocation
m68k: Thread mm_struct throughout page table allocation
mm: Set pt_mm in PTE constructor
mm: Set pt_mm in PMD constructor

arch/arc/include/asm/pgalloc.h | 2 +-
arch/arm/mm/mmu.c | 66 ++++++++---------
arch/arm64/include/asm/pgalloc.h | 2 +-
arch/arm64/mm/mmu.c | 93 ++++++++++++------------
arch/m68k/include/asm/mcf_pgalloc.h | 2 +-
arch/m68k/include/asm/motorola_pgalloc.h | 10 +--
arch/m68k/mm/motorola.c | 4 +-
arch/openrisc/include/asm/pgalloc.h | 2 +-
arch/powerpc/mm/book3s64/pgtable.c | 2 +-
arch/powerpc/mm/pgtable-frag.c | 2 +-
arch/s390/include/asm/pgalloc.h | 2 +-
arch/s390/mm/pgalloc.c | 2 +-
arch/sparc/mm/init_64.c | 2 +-
arch/sparc/mm/srmmu.c | 2 +-
arch/x86/include/asm/pgalloc.h | 2 +-
arch/x86/mm/pgtable.c | 3 +-
arch/xtensa/include/asm/pgalloc.h | 2 +-
include/asm-generic/pgalloc.h | 2 +-
include/linux/mm.h | 18 ++++-
include/linux/mm_types.h | 12 +--
20 files changed, 122 insertions(+), 110 deletions(-)


base-commit: 6a8b55ed4056ea5559ebe4f6a4b247f627870d4c
--
2.26.2