KVM: MMU: audit: unregister audit tracepoints before module unloaded
fix: Call Trace: [<ffffffffa01e46ba>] ? kvm_mmu_pte_write+0x229/0x911 [kvm] [<ffffffffa01c6ba9>] ? gfn_to_memslot+0x39/0xa0 [kvm] [<ffffffffa01c6c26>] ? mark_page_dirty+0x16/0x2e [kvm] [<ffffffffa01c6d6f>] ? kvm_write_guest_page+0x67/0x7f [kvm] [<ffffffff81066fbd>] ? local_clock+0x2a/0x3b [<ffffffffa01d52ce>] emulator_write_phys+0x46/0x54 [kvm] ...... Code: Bad RIP value. RIP [<ffffffffa0172056>] 0xffffffffa0172056 RSP <ffff880134f69a70> CR2: ffffffffa0172056 Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
98224bf1d1
commit
c42fffe3a3
@ -3355,15 +3355,6 @@ int kvm_mmu_setup(struct kvm_vcpu *vcpu)
|
|||||||
return init_kvm_mmu(vcpu);
|
return init_kvm_mmu(vcpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_mmu_destroy(struct kvm_vcpu *vcpu)
|
|
||||||
{
|
|
||||||
ASSERT(vcpu);
|
|
||||||
|
|
||||||
destroy_kvm_mmu(vcpu);
|
|
||||||
free_mmu_pages(vcpu);
|
|
||||||
mmu_free_memory_caches(vcpu);
|
|
||||||
}
|
|
||||||
|
|
||||||
void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
|
void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
|
||||||
{
|
{
|
||||||
struct kvm_mmu_page *sp;
|
struct kvm_mmu_page *sp;
|
||||||
@ -3662,4 +3653,16 @@ EXPORT_SYMBOL_GPL(kvm_mmu_get_spte_hierarchy);
|
|||||||
|
|
||||||
#ifdef CONFIG_KVM_MMU_AUDIT
|
#ifdef CONFIG_KVM_MMU_AUDIT
|
||||||
#include "mmu_audit.c"
|
#include "mmu_audit.c"
|
||||||
|
#else
|
||||||
|
static void mmu_audit_disable(void) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void kvm_mmu_destroy(struct kvm_vcpu *vcpu)
|
||||||
|
{
|
||||||
|
ASSERT(vcpu);
|
||||||
|
|
||||||
|
destroy_kvm_mmu(vcpu);
|
||||||
|
free_mmu_pages(vcpu);
|
||||||
|
mmu_free_memory_caches(vcpu);
|
||||||
|
mmu_audit_disable();
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user