> On 13 May 2019, at 18:15, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > On Mon, May 13, 2019 at 04:38:32PM +0200, Alexandre Chartre wrote: >> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c >> index 46df4c6..317e105 100644 >> --- a/arch/x86/mm/fault.c >> +++ b/arch/x86/mm/fault.c >> @@ -33,6 +33,10 @@ >> #define CREATE_TRACE_POINTS >> #include <asm/trace/exceptions.h> >> >> +bool (*kvm_page_fault_handler)(struct pt_regs *regs, unsigned long error_code, >> + unsigned long address); >> +EXPORT_SYMBOL(kvm_page_fault_handler); > > NAK NAK NAK NAK > > This is one of the biggest anti-patterns around. I agree. I think that mm should expose a mm_set_kvm_page_fault_handler() or something (give it a better name). Similar to how arch/x86/kernel/irq.c have kvm_set_posted_intr_wakeup_handler(). -Liran