Re: xtensa question, was Re: [PATCH V1 00/10] Remove duplicated kmap code

From: Christoph Hellwig
Date: Fri May 01 2020 - 05:19:39 EST


On Fri, May 01, 2020 at 02:02:19AM -0700, Max Filippov wrote:
> Hi Christoph,
>
> On Fri, May 1, 2020 at 1:46 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> > any idea why xtensa uses PAGE_KERNEL_EXEC instead of PAGE_KERNEL
> > for kmap_prot? Mapping all mapped highmem as executable seems rather
> > dangerous.
>
> I sure do: to allow instruction cache flushing when writing to high user
> pages temporarily mapped with kmap. Instruction cache management
> opcodes that operate on virtual addresses would raise an exception if
> the address is not executable.

Seems like this should use kmap_atomic_prot with PAGE_KERNEL_EXEC just
for that case. Which of course didn't exist on xtensa so far, but with
this series will.