Gerald Schaefer <gerald.schaefer@xxxxxxxxxxxxx> writes: > s390 can do more fine-grained handling of spurious TLB protection faults, > when there also is the PTE pointer available. > > Therefore, pass on the PTE pointer to flush_tlb_fix_spurious_fault() as > an additional parameter. > > This will add no functional change to other architectures, but those with > private flush_tlb_fix_spurious_fault() implementations need to be made > aware of the new parameter. > > Reviewed-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx> > Signed-off-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxxxxx> > --- > arch/arm64/include/asm/pgtable.h | 2 +- > arch/mips/include/asm/pgtable.h | 3 ++- > arch/powerpc/include/asm/book3s/64/tlbflush.h | 3 ++- > arch/s390/include/asm/pgtable.h | 12 +++++++----- > arch/x86/include/asm/pgtable.h | 2 +- > include/linux/pgtable.h | 2 +- > mm/memory.c | 3 ++- > mm/pgtable-generic.c | 2 +- > 8 files changed, 17 insertions(+), 12 deletions(-) ... > diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush.h b/arch/powerpc/include/asm/book3s/64/tlbflush.h > index 2bbc0fcce04a..ff7f0ee179e5 100644 > --- a/arch/powerpc/include/asm/book3s/64/tlbflush.h > +++ b/arch/powerpc/include/asm/book3s/64/tlbflush.h > @@ -121,7 +121,8 @@ static inline void flush_tlb_page(struct vm_area_struct *vma, > > #define flush_tlb_fix_spurious_fault flush_tlb_fix_spurious_fault > static inline void flush_tlb_fix_spurious_fault(struct vm_area_struct *vma, > - unsigned long address) > + unsigned long address, > + pte_t *ptep) > { > /* > * Book3S 64 does not require spurious fault flushes because the PTE Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc) cheers