On Mon, Aug 14, 2023 at 11:01 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > What is/was the error? It's probably worth digging into; "static inline" should > work just fine, so there might be something funky elsewhere that you're papering > over. What I get is > ./include/linux/kvm_host.h:2298:20: error: function 'kvm_handle_guest_uaccess_fault' has internal linkage but is not defined [-Werror,-Wundefined-internal] > static inline void kvm_handle_guest_uaccess_fault(struct kvm_vcpu *vcpu, > ^ > arch/x86/kvm/mmu/mmu.c:3323:2: note: used here > kvm_handle_guest_uaccess_fault(vcpu, gfn_to_gpa(fault->gfn), PAGE_SIZE, > ^ > 1 error generated. (mmu.c:3323 is in kvm_handle_error_pfn()). I tried shoving the definition of the function from kvm_main.c to kvm_host.h so that I could make it "static inline": but then the same "internal linkage" error pops up in the kvm_vcpu_read/write_guest_page() functions. Btw, do you actually know the size of the union in the run struct? I started checking it but stopped when I realized that it includes arch-dependent structs.