Re: [PATCH] Revert "MIPS: Remove race window in page fault handling"

From: Lars Persson
Date: Wed Dec 03 2014 - 09:20:34 EST


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



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/