ARM: mm: Export __sync_icache_dcache() for xen-privcmd
authorBen Hutchings <ben@decadent.org.uk>
Wed, 11 Jul 2018 22:40:55 +0000 (23:40 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Fri, 25 Apr 2025 15:07:45 +0000 (17:07 +0200)
Forwarded: https://lore.kernel.org/all/20180711225013.GF14131@decadent.org.uk/

The xen-privcmd driver, which can be modular, calls set_pte_at()
which in turn may call __sync_icache_dcache().

The call to __sync_icache_dcache() may be optimised out because it is
conditional on !pte_special(), and xen-privcmd calls pte_mkspecial().
However, in a non-LPAE configuration there is no "special" bit and the
call is really unconditional.

Fixes: 3ad0876554ca ("xen/privcmd: add IOCTL_PRIVCMD_MMAP_RESOURCE")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Gbp-Pq: Topic bugfix/arm
Gbp-Pq: Name arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch

arch/arm/mm/flush.c

index 0749cf8a66371bb608f8bbd793c2e8302d56d989..b699fa769017834fe907bfbe9e9cba0c5e2e41d7 100644 (file)
@@ -310,6 +310,7 @@ void __sync_icache_dcache(pte_t pteval)
        if (pte_exec(pteval))
                __flush_icache_all();
 }
+EXPORT_SYMBOL_GPL(__sync_icache_dcache);
 #endif
 
 /*