Re: [PATCH 0/3]nds32: Correct the cache operation for catch aliasing case

From: Greentime Hu
Date: Thu May 17 2018 - 02:02:34 EST


2018-05-15 16:46 GMT+08:00 Vincent Chen <vincentc@xxxxxxxxxxxxx>:
> The following 3 issues are fixed in this patchset
>
> 1. In function flush_dacache_page and copy_user_highpage, the local irq is
> enabled when the cache of the page at address page_address(page) is written
> back to memory. It possibly causes data corruption. To fix this problem,
> the local irq is disabled before executing d-cache write-back and
> invalidate in this patchset.
>
> 2. According to Documentation/cachetlb.txt, the cache of the page at vmaddr
> shall be flushed in flush_anon_page instead of the cache of the page at
> page_address(page). We correct it and add the modification to this
> patchset.
>
> 3. Removing unneeded cache invalidation in copy_user_highpage function.
>
>
> Vincent Chen (3):
> nds32: Correct flush_dcache_page function
> nds32: Flush the cache of the page at vmaddr instead of kaddr in
> flush_anon_page
> nds32: Disable local irq before calling cpu_dcache_wb_page in
> copy_user_highpage
>
> arch/nds32/mm/cacheflush.c | 34 ++++++++++++++++++++--------------
> 1 files changed, 20 insertions(+), 14 deletions(-)
>

Thank you, Vincent.
Reviewed-by: Greentime Hu <greentime@xxxxxxxxxxxxx>