The patch titled Subject: mips/mm/highmem: use set_pte() for kmap_local() has been added to the -mm tree. Its filename is mips-mm-highmem-use-set_pte-for-kmap_local.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/mips-mm-highmem-use-set_pte-for-kmap_local.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/mips-mm-highmem-use-set_pte-for-kmap_local.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Subject: mips/mm/highmem: use set_pte() for kmap_local() set_pte_at() on MIPS invokes update_cache() which might recurse into kmap_local(). Use set_pte() like the original MIPS highmem implementation did. Link: https://lkml.kernel.org/r/20210112170411.187513575@xxxxxxxxxxxxx Fixes: a4c33e83bca1 ("mips/mm/highmem: Switch to generic kmap atomic") Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Reported-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Reported-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Acked-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: Andreas Larsson <andreas@xxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/mips/include/asm/highmem.h | 1 + 1 file changed, 1 insertion(+) --- a/arch/mips/include/asm/highmem.h~mips-mm-highmem-use-set_pte-for-kmap_local +++ a/arch/mips/include/asm/highmem.h @@ -51,6 +51,7 @@ extern void kmap_flush_tlb(unsigned long #define flush_cache_kmaps() BUG_ON(cpu_has_dc_aliases) +#define arch_kmap_local_set_pte(mm, vaddr, ptep, ptev) set_pte(ptep, ptev) #define arch_kmap_local_post_map(vaddr, pteval) local_flush_tlb_one(vaddr) #define arch_kmap_local_post_unmap(vaddr) local_flush_tlb_one(vaddr) _ Patches currently in -mm which might be from tglx@xxxxxxxxxxxxx are sparc-mm-highmem-flush-cache-and-tlb.patch mm-highmem-prepare-for-overriding-set_pte_at.patch mips-mm-highmem-use-set_pte-for-kmap_local.patch powerpc-mm-highmem-use-__set_pte_at-for-kmap_local.patch