[PATCH] [PATCH] arm64: Boot failure on m400 with new cont PTEs
Jeremy Linton
jeremy.linton at arm.com
Wed Nov 18 11:31:18 PST 2015
On 11/18/2015 12:04 PM, Mark Rutland wrote:
> You're racing against other parts of the CPU (the page table walker(s),
> I-caches, etc). The flushing only minimises the window for a race, and
> does not prevent the race from being possible.
>
> Given that the envelope is constantly pushing forward w.r.t. how
> aggressive CPUs may be in this area, we need to fix the issue by
> reasoning against what the architecture guarantees us.
Its also not suppose to fault on speculative access, and to me that
means page table walks/etc that are the result of speculative access.
Which AFAIK, closes the window significantly. I would only really worry
about interrupt activity, and updates to the memory containing the PTE's
themselves. Either way the simple change (rather than rewriting the
whole code path) is probably to flag the fault handler to simply resume
from these kinds of faults during create_mapping_late().
But that isn't what is happening here AFAIK, the faults are long after
the PTE's have been updated, and are the result of failure to flush the
TLB..
More information about the linux-arm-kernel
mailing list