From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EC35390235 for ; Thu, 9 Apr 2026 22:24:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775773498; cv=none; b=UxGV4A62m5o8mdIAnk/9xOM8V8UBMfLewXn4hMLOSkz0sJ34JcApdUNUiWFmhYtumcbChnOaHPhN0hlsCGbuA4bDESgsssxRAM9k/BNxtxzwkAf9TqyhIbD9ZqJbXJ7xOsBk8rqdaXlpSpH7lJTsUqhBcfpkdKdoTBn+u0D0+YU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775773498; c=relaxed/simple; bh=bwNBy556uWw+vxyMnVKrtkSXVtDCpK9YM97eKS/QmIE=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=AHG1vmVV18IwERG/DpABufLOGKRDU9HXZnZe2PGY1aCQJXT8NSjakhwp+GtC7dWfD284jOclZfjyMfAB01jVpchh1vpjOt2VwP/vb1+HZnJGxxa6ONUhnr8jh0/fi96b6j5+FH+yjabsz3+4nRvZhOJVUczhmmAg6SkHFnJlLfw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=jwqCZmwI; arc=none smtp.client-ip=209.85.215.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="jwqCZmwI" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-c76b06f37a7so883176a12.0 for ; Thu, 09 Apr 2026 15:24:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1775773496; x=1776378296; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:from:to:cc:subject:date:message-id:reply-to; bh=b1NDe4ZG8zbUX0n/F/WNtfK/EhzR9hlGfWDGoGHPoI8=; b=jwqCZmwICAiv1wrNzDtwReNlzgUa9ec3urRofqOlzW587BeTzFnNu0XngLit7dNid2 qTlPMqLnbyQ5chq7b+KuZm5bgU/ArMVSvGaJF3o8wmk5LO5VPxsE8FY6aPTzk9NMssXf CfH6z3Wo3tD4alHKaeOAy5xXk7FQZwSGiWNeIbuEbWDOau/b4+rWbnGmPxrb4BxBvtBD CX/ZfyBNJg838ikhmneuR0pZ+Qv64T6qVEiJgB2i1twHd8NG6+EKhVW0Onqpz1CPXjY9 sfNYPPHFdA3tUVwkukSe8OaExX6NNeqTbp6olZkSlCdf6topntRi8YOeUlyNCftvrC3s cjxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775773496; x=1776378296; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:reply-to:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=b1NDe4ZG8zbUX0n/F/WNtfK/EhzR9hlGfWDGoGHPoI8=; b=By3kvkdQV4BN50DrxNy21ensDOcMJE7ilAmaz5Cu2pQS3QDGenleLG6E3CBU8MqQ00 UMT9y9VgQeDscdVlYHOzF9FRsEhBvRJfP58W0yOm0dQoF1Jq348CSbeFyDFLVJDs54i4 HBQfT1/jO320doiU9XUm1hquFVYHzHC2fz8UATDqEQkHBPD/VrC5D4gf5Vt3H5OiBo3D z+/1BsJqSuZnjAqX026JbqaiueAC7d2OrTbiLQheVUgNC/HIM1ToJyxrx2SNRcwo+GPi K134d+QdCIulBVGP/osmqDJQy41lEjC5fC47ki3NHWYj0mvv1hPh8fpbPDFV2C/5UTeA 2SfQ== X-Forwarded-Encrypted: i=1; AJvYcCW666S989TIsVUyJgMVIKG/np1cxbzIvshtOs65O4CPpfnhXqUx8ZkVree7+ckNVrthD4VLzdgYw2BunG4=@vger.kernel.org X-Gm-Message-State: AOJu0YwXN5E72AyySReUdfa5LKIv9M9UzwJ/Bvt3Cz30GKbQ+MorJL3O uZtaX7UiV8ZKf1kac2fm5jTGp7xHpPmvdW6YRy9mCj3KTs/AKQxxyV5OVXuZ2tWVWqnLDJmJ1m5 pKc+mDw== X-Received: from pgbcx10.prod.google.com ([2002:a05:6a02:220a:b0:c73:fb05:a2e3]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:9987:b0:39f:1f92:28d with SMTP id adf61e73a8af0-39fe3f1d7fbmr682362637.29.1775773495509; Thu, 09 Apr 2026 15:24:55 -0700 (PDT) Reply-To: Sean Christopherson Date: Thu, 9 Apr 2026 15:24:48 -0700 In-Reply-To: <20260409222449.2013847-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260409222449.2013847-1-seanjc@google.com> X-Mailer: git-send-email 2.53.0.1213.gd9a14994de-goog Message-ID: <20260409222449.2013847-3-seanjc@google.com> Subject: [PATCH 2/3] KVM: SVM: Always intercept RDMSR for TMCCT (current APIC timer count) From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Naveen N Rao Content-Type: text/plain; charset="UTF-8" Explicitly intercept RDMSR for TMMCT, a.k.a. the current APIC timer count, when x2AVIC is enabled, as TMMCT reads aren't accelerated by hardware. Disabling interception is suboptimal as the RDMSR generates an AVIC_UNACCELERATED_ACCESS fault #VMEXIT, which forces KVM to decode the instruction to figure out what the guest was trying to access. Note, the only reason this isn't a fatal bug is that the AVIC architecture had the foresight to guard against buggy hypervisors. E.g. if hardware simply read from the virtual APIC page, the guest would get garbage. Fixes: 4d1d7942e36a ("KVM: SVM: Introduce logic to (de)activate x2AVIC mode") Cc: stable@vger.kernel.org Cc: Naveen N Rao (AMD) Signed-off-by: Sean Christopherson --- arch/x86/kvm/svm/avic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c index df974ee290d0..c9e9872ad880 100644 --- a/arch/x86/kvm/svm/avic.c +++ b/arch/x86/kvm/svm/avic.c @@ -171,6 +171,9 @@ static void avic_set_x2apic_msr_interception(struct vcpu_svm *svm, svm_set_intercept_for_msr(vcpu, APIC_BASE_MSR + i, MSR_TYPE_R, intercept); + if (!intercept) + svm_enable_intercept_for_msr(vcpu, X2APIC_MSR(APIC_TMCCT), MSR_TYPE_R); + for (i = 0; i < ARRAY_SIZE(x2avic_passthrough_msrs); i++) svm_set_intercept_for_msr(vcpu, x2avic_passthrough_msrs[i], MSR_TYPE_W, intercept); -- 2.53.0.1213.gd9a14994de-goog