The patch titled Subject: powerpc/mm/highmem: use __set_pte_at() for kmap_local() has been added to the -mm tree. Its filename is powerpc-mm-highmem-use-__set_pte_at-for-kmap_local.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/powerpc-mm-highmem-use-__set_pte_at-for-kmap_local.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/powerpc-mm-highmem-use-__set_pte_at-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: powerpc/mm/highmem: use __set_pte_at() for kmap_local() The original PowerPC highmem mapping function used __set_pte_at() to denote that the mapping is per CPU. This got lost with the conversion to the generic implementation. Override the default map function. Link: https://lkml.kernel.org/r/20210112170411.281464308@xxxxxxxxxxxxx Fixes: 47da42b27a56 ("powerpc/mm/highmem: Switch to generic kmap atomic") Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Andreas Larsson <andreas@xxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/powerpc/include/asm/highmem.h | 2 ++ 1 file changed, 2 insertions(+) --- a/arch/powerpc/include/asm/highmem.h~powerpc-mm-highmem-use-__set_pte_at-for-kmap_local +++ a/arch/powerpc/include/asm/highmem.h @@ -58,6 +58,8 @@ extern pte_t *pkmap_page_table; #define flush_cache_kmaps() flush_cache_all() +#define arch_kmap_local_set_pte(mm, vaddr, ptep, ptev) \ + __set_pte_at(mm, vaddr, ptep, ptev, 1) #define arch_kmap_local_post_map(vaddr, pteval) \ local_flush_tlb_page(NULL, vaddr) #define arch_kmap_local_post_unmap(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