Re: [RFC KVM 24/27] kvm/isolation: KVM page fault handler

From: Andy Lutomirski
Date: Tue May 14 2019 - 11:45:27 EST




> On May 14, 2019, at 8:36 AM, Alexandre Chartre <alexandre.chartre@xxxxxxxxxx> wrote:
>
>
>> On 5/14/19 9:21 AM, Peter Zijlstra wrote:
>>> On Mon, May 13, 2019 at 07:02:30PM -0700, Andy Lutomirski wrote:
>>> This sounds like a great use case for static_call(). PeterZ, do you
>>> suppose we could wire up static_call() with the module infrastructure
>>> to make it easy to do "static_call to such-and-such GPL module symbol
>>> if that symbol is in a loaded module, else nop"?
>> You're basically asking it to do dynamic linking. And I suppose that is
>> technically possible.
>> However, I'm really starting to think kvm (or at least these parts of it
>> that want to play these games) had better not be a module anymore.
>
> Maybe we can use an atomic notifier (e.g. page_fault_notifier)?
>
>

IMO thatâs worse. I want to be able to read do_page_fault() and understand what happens and in what order.

Having do_page_fault run with the wrong CR3 is so fundamental to its operation that it needs to be very obvious whatâs happening.