From: Yosry Ahmed Date: Wed, 27 May 2026 23:47:02 +0000 (+0000) Subject: KVM: x86/pmu: Check mediated PMU counter enablement before event filters X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=232eadc3110b6b00eda84fb8670ddb20a64e1726;p=thirdparty%2Fkernel%2Flinux.git KVM: x86/pmu: Check mediated PMU counter enablement before event filters If the guest disables the counter (by clearing ARCH_PERFMON_EVENTSEL_ENABLE), KVM still performs the PMU filter lookup, even though it doesn't end up changing eventsel_hw. Check if the counter is enabled by the guest before doing the potentially expensive PMU filter lookup. Suggested-by: Sean Christopherson Signed-off-by: Yosry Ahmed Link: https://patch.msgid.link/20260527234711.4175166-9-yosry@kernel.org Signed-off-by: Sean Christopherson --- diff --git a/arch/x86/kvm/pmu.c b/arch/x86/kvm/pmu.c index afbc731e7217..67dbbd4c7303 100644 --- a/arch/x86/kvm/pmu.c +++ b/arch/x86/kvm/pmu.c @@ -532,7 +532,7 @@ static bool pmc_is_event_allowed(struct kvm_pmc *pmc) static void kvm_mediated_pmu_refresh_event_filter(struct kvm_pmc *pmc) { - bool allowed = pmc_is_event_allowed(pmc); + bool allowed = pmc_is_locally_enabled(pmc) && pmc_is_event_allowed(pmc); struct kvm_pmu *pmu = pmc_to_pmu(pmc); if (pmc_is_gp(pmc)) {