Messages in this thread | | | Subject | Re: [PATCH] Revert "MIPS: Remove race window in page fault handling" | From | Lars Persson <> | Date | Wed, 3 Dec 2014 15:20:16 +0100 |
| |
Ralf
I remember now that we have applied to our tree the proposed patch titled "MIPS HIGHMEM fixes for cache aliasing and non-DMA I/O".
This patch changes the semantics of flush_dcache_page() by using page_mapped() instead of mapping_mapped() to decide if the flush should be lazy. Is it this change that makes us get lazy flushes for code mappings and therefore exposing the problem ? The ARM port which has made a similar change to set_pte_at() also uses page_mapped() to decide if lazy flushing is possible.
If this is true, then upstream might not need my patch.
- Lars
On ons, 2014-12-03 at 14:42 +0100, Ralf Baechle wrote: > Lars, > > normally set_pte_at() is invoked in a > > cache_flush_*() > set_pte_at() > tlb_flush_*() > > sequence. So I'm wondering if you're trying to fix something in set_pte_at > that actually ought to be fixed in the cache_flush_*() function. > > I'm wondering, have you identified which cache flush function in particular > was used in the sequence in your particular bug's case? > > Ralf
| |