Loading arch/x86/kvm/mmu.c +7 −21 Original line number Diff line number Diff line Loading @@ -59,21 +59,6 @@ enum { AUDIT_POST_SYNC }; char *audit_point_name[] = { "pre page fault", "post page fault", "pre pte write", "post pte write", "pre sync", "post sync" }; #ifdef CONFIG_KVM_MMU_AUDIT static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point); #else static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { } #endif #undef MMU_DEBUG #ifdef MMU_DEBUG Loading Loading @@ -1539,6 +1524,13 @@ static int kvm_sync_page_transient(struct kvm_vcpu *vcpu, return ret; } #ifdef CONFIG_KVM_MMU_AUDIT #include "mmu_audit.c" #else static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { } static void mmu_audit_disable(void) { } #endif static int kvm_sync_page(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, struct list_head *invalid_list) { Loading Loading @@ -4035,12 +4027,6 @@ void kvm_mmu_destroy(struct kvm_vcpu *vcpu) mmu_free_memory_caches(vcpu); } #ifdef CONFIG_KVM_MMU_AUDIT #include "mmu_audit.c" #else static void mmu_audit_disable(void) { } #endif void kvm_mmu_module_exit(void) { mmu_destroy_caches(); Loading arch/x86/kvm/mmu_audit.c +21 −8 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ #include <linux/ratelimit.h> char const *audit_point_name[] = { "pre page fault", "post page fault", "pre pte write", "post pte write", "pre sync", "post sync" }; #define audit_printk(kvm, fmt, args...) \ printk(KERN_ERR "audit: (%s) error: " \ fmt, audit_point_name[kvm->arch.audit_point], ##args) Loading Loading @@ -227,11 +236,10 @@ static void audit_vcpu_spte(struct kvm_vcpu *vcpu) static bool mmu_audit; static struct jump_label_key mmu_audit_key; static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) static void __kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { static DEFINE_RATELIMIT_STATE(ratelimit_state, 5 * HZ, 10); if (static_branch((&mmu_audit_key))) { if (!__ratelimit(&ratelimit_state)) return; Loading @@ -239,6 +247,11 @@ static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) audit_all_active_sps(vcpu->kvm); audit_vcpu_spte(vcpu); } static inline void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { if (static_branch((&mmu_audit_key))) __kvm_mmu_audit(vcpu, point); } static void mmu_audit_enable(void) Loading Loading
arch/x86/kvm/mmu.c +7 −21 Original line number Diff line number Diff line Loading @@ -59,21 +59,6 @@ enum { AUDIT_POST_SYNC }; char *audit_point_name[] = { "pre page fault", "post page fault", "pre pte write", "post pte write", "pre sync", "post sync" }; #ifdef CONFIG_KVM_MMU_AUDIT static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point); #else static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { } #endif #undef MMU_DEBUG #ifdef MMU_DEBUG Loading Loading @@ -1539,6 +1524,13 @@ static int kvm_sync_page_transient(struct kvm_vcpu *vcpu, return ret; } #ifdef CONFIG_KVM_MMU_AUDIT #include "mmu_audit.c" #else static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { } static void mmu_audit_disable(void) { } #endif static int kvm_sync_page(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, struct list_head *invalid_list) { Loading Loading @@ -4035,12 +4027,6 @@ void kvm_mmu_destroy(struct kvm_vcpu *vcpu) mmu_free_memory_caches(vcpu); } #ifdef CONFIG_KVM_MMU_AUDIT #include "mmu_audit.c" #else static void mmu_audit_disable(void) { } #endif void kvm_mmu_module_exit(void) { mmu_destroy_caches(); Loading
arch/x86/kvm/mmu_audit.c +21 −8 Original line number Diff line number Diff line Loading @@ -19,6 +19,15 @@ #include <linux/ratelimit.h> char const *audit_point_name[] = { "pre page fault", "post page fault", "pre pte write", "post pte write", "pre sync", "post sync" }; #define audit_printk(kvm, fmt, args...) \ printk(KERN_ERR "audit: (%s) error: " \ fmt, audit_point_name[kvm->arch.audit_point], ##args) Loading Loading @@ -227,11 +236,10 @@ static void audit_vcpu_spte(struct kvm_vcpu *vcpu) static bool mmu_audit; static struct jump_label_key mmu_audit_key; static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) static void __kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { static DEFINE_RATELIMIT_STATE(ratelimit_state, 5 * HZ, 10); if (static_branch((&mmu_audit_key))) { if (!__ratelimit(&ratelimit_state)) return; Loading @@ -239,6 +247,11 @@ static void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) audit_all_active_sps(vcpu->kvm); audit_vcpu_spte(vcpu); } static inline void kvm_mmu_audit(struct kvm_vcpu *vcpu, int point) { if (static_branch((&mmu_audit_key))) __kvm_mmu_audit(vcpu, point); } static void mmu_audit_enable(void) Loading