On Fri, Mar 20, 2020 at 07:00:15PM +0100, Thomas Gleixner wrote: > The VMX code does not track hard interrupt state correctly. The state in > tracing and lockdep is 'OFF' all the way during guest mode. From the host > point of view this is wrong because the VMENTER reenables interrupts like a > return to user space and VMENTER disables them again like an entry from > user space. > > Make it do exactly the same thing as enter/exit user mode does. > > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> This patch (and the SVM counterpart) result in: ERROR: "lockdep_hardirqs_on" [arch/x86/kvm/kvm-amd.ko] undefined! ERROR: "lockdep_hardirqs_off" [arch/x86/kvm/kvm-amd.ko] undefined! ERROR: "__trace_hardirqs_off" [arch/x86/kvm/kvm-amd.ko] undefined! ERROR: "lockdep_hardirqs_on_prepare" [arch/x86/kvm/kvm-amd.ko] undefined! ERROR: "__trace_hardirqs_on" [arch/x86/kvm/kvm-amd.ko] undefined! ERROR: "lockdep_hardirqs_on" [arch/x86/kvm/kvm-intel.ko] undefined! ERROR: "lockdep_hardirqs_off" [arch/x86/kvm/kvm-intel.ko] undefined! ERROR: "__trace_hardirqs_off" [arch/x86/kvm/kvm-intel.ko] undefined! ERROR: "lockdep_hardirqs_on_prepare" [arch/x86/kvm/kvm-intel.ko] undefined! ERROR: "__trace_hardirqs_on" [arch/x86/kvm/kvm-intel.ko] undefined! on allmodconfig. I suppose them things need an EXPORT_SYMBOL_GPL() on them.