linux/arch
Alistair Popple 1af5a81099 mmu_notifiers: rename invalidate_range notifier
There are two main use cases for mmu notifiers.  One is by KVM which uses
mmu_notifier_invalidate_range_start()/end() to manage a software TLB.

The other is to manage hardware TLBs which need to use the
invalidate_range() callback because HW can establish new TLB entries at
any time.  Hence using start/end() can lead to memory corruption as these
callbacks happen too soon/late during page unmap.

mmu notifier users should therefore either use the start()/end() callbacks
or the invalidate_range() callbacks.  To make this usage clearer rename
the invalidate_range() callback to arch_invalidate_secondary_tlbs() and
update documention.

Link: https://lkml.kernel.org/r/6f77248cd25545c8020a54b4e567e8b72be4dca1.1690292440.git-series.apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Andrew Donnellan <ajd@linux.ibm.com>
Cc: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Cc: Frederic Barrat <fbarrat@linux.ibm.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Kevin Tian <kevin.tian@intel.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: SeongJae Park <sj@kernel.org>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Will Deacon <will@kernel.org>
Cc: Zhi Wang <zhi.wang.linux@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-18 10:12:41 -07:00
..
alpha Merge branch 'expand-stack' 2023-06-28 20:35:21 -07:00
arc arc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:33 -07:00
arm arm: adjust_pte() use pte_offset_map_nolock() 2023-08-18 10:12:23 -07:00
arm64 mmu_notifiers: rename invalidate_range notifier 2023-08-18 10:12:41 -07:00
csky arch/csky patches for 6.5 2023-07-01 21:12:32 -07:00
hexagon hexagon: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:32 -07:00
ia64 ia64: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:33 -07:00
loongarch asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
m68k asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
microblaze slab updates for 6.5 2023-06-29 16:34:12 -07:00
mips asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros 2023-08-18 10:12:32 -07:00
nios2 slab updates for 6.5 2023-06-29 16:34:12 -07:00
openrisc openrisc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
parisc parisc: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:35 -07:00
powerpc mmu_notifiers: rename invalidate_range notifier 2023-08-18 10:12:41 -07:00
riscv mm/page_table_check: remove unused parameter in [__]page_table_check_pud_set 2023-08-18 10:12:29 -07:00
s390 s390: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
sh sh: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:34 -07:00
sparc sparc: add pte_free_defer() for pte_t *pgtable_t 2023-08-18 10:12:24 -07:00
um arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS 2023-07-29 14:08:22 -07:00
x86 mmu_notifiers: rename invalidate_range notifier 2023-08-18 10:12:41 -07:00
xtensa xtensa: mm: convert to GENERIC_IOREMAP 2023-08-18 10:12:35 -07:00
.gitignore
Kconfig - Arnd Bergmann has fixed a bunch of -Wmissing-prototypes in 2023-06-28 10:59:38 -07:00