Messages in this thread | | | From | Vincent Chen <> | Subject | [PATCH 0/3]nds32: Correct the cache operation for catch aliasing case | Date | Tue, 15 May 2018 16:46:00 +0800 |
| |
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(-)
| |