On Sun, Jun 14, 2015 at 7:47 PM, Andi Kleen <a...@firstfloor.org> wrote: > Oleg Nesterov <o...@redhat.com> writes: >> >> But again, the kernel no longer does this? do_page_fault() does >> vmalloc_fault() >> without notify_die(). If it fails, I do not see how/why a modular DIE_OOPS >> handler could try to resolve this problem and trigger another fault. > > The same problem can happen from NMI handlers or machine check > handlers. It's not necessarily tied to page faults only.
AIUI, the point of the one and only vmalloc_sync_all call is to prevent infinitely recursive faults when we call a notify_die callback. The only thing that it could realistically protect is module text or static non-per-cpu module data, since that's the only thing that's reliably already in the init pgd. I'm with Oleg: I don't see how that can happen, since do_page_fault fixes up vmalloc faults before it calls notify_die. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/