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

From: Max Filippov
Date: Fri May 01 2020 - 05:50:40 EST


On Fri, May 1, 2020 at 2:19 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> 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.

Yeah, except it's the __access_remote_vm that does the kmap and then
calls copy_to_user_page...

--
Thanks.
-- Max