From nobody Fri Apr 3 09:29:00 2026 Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) (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 BB937338591 for ; Wed, 18 Feb 2026 23:10:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771456208; cv=none; b=ZurURX7utLP8rVSQCuv0WwH4dxVGIjIAFQyDz2EYBANANWudd3sfj+J50p3WVeLMGk7lVfI3YBKXPE/5SgaQuLbamTad5F4Ue64Iwjxw/iHmu31VMGHz24IFaDq4QbLMKGivdMrrXn9vC0wbZ8kBZ9FLy3KR52zHAtA13YEg52s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771456208; c=relaxed/simple; bh=3DZZd8lu8WIKxAiwbtA8KRS5+FC7VWHgRRfIAwjLnpc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=nLtmySaY6PIC/0Fqyqt7IH7bpTXA+ZyH1zu0sSIPfsObG0hxH/7SwuwL97k4S7HHoldIHlfVmUbRykSOwM9MmGWTw0xRPxDNcwXrQLNoBD9/uoYjwedb0azhXyMtoYHQ12fjXNv2kPFX6qgN0pgJWTbBCwD7MPGA0t8OWMWQ28o= 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=336Wmtce; arc=none smtp.client-ip=209.85.215.202 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="336Wmtce" Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-c6de06e6c08so154616a12.3 for ; Wed, 18 Feb 2026 15:10:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1771456207; x=1772061007; 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=6Kw8QE5cNoJCuppqB1Y2qVSbKI4zWPrm2R6k+VHt6KA=; b=336WmtceiQQXxpZepvZWrVXMVL2uqI2pMJ2tqq7yrYghLBqJrpNLlFqwD5SYPRoQY6 D5qG3q/LAllpIekTonQ1F8NN0AgLuzOqVgPdvsEFQ3Rr874IxQiP7aujmb/WNjNzoJiq wMz7nIdAPoh3ym8fIeLD54PkeDw0zqE4gVODC02k5SwW/6OAVHp1PeUoxp0fDMgyePQq tqJsGp4sQfBx9oAA1NxDHBEwd5LBxKjNxqKgKQr8G8Sv/DJ6Gjtp5Aa8xSZqU8uPVGgW 8Le8XuanOwYMnXZgzSYx0s0g1R8RxoXO2VJdNcCf5lJ82ZdYIDTDUk71auZhNdiggaoV h6YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771456207; x=1772061007; 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=6Kw8QE5cNoJCuppqB1Y2qVSbKI4zWPrm2R6k+VHt6KA=; b=E47CfRiyjPiNTEL/kozJqVdTuL3K+Z7AVOLFIO9IdHe8jgH3/gmCPZO5PBVoMDupKu N9IWXAJ6mJtY6CrGlETDPQYvmPL4iT8AF78vP2N+LcygGcgkFQVp5/InW1/F/Oo0Z6Tp /q7+nflngy1MxPIRBqSnrdEZfSZ7kIBwOKatYe0V0XqpAkVXSDB63a+oQu2Sr2bHbayh 5uQeMqpdypD2VuUfetlWzrhJVjevHZzFcGb6puaxbVVrk2VXkrhLGpR/X1/Ql5FZeJWR jEEdgJQmAjchH0sHoFr/2+WZxzWOrqj8tYli7NQqoxeMJoRbHStluIRlixPU7eelMJrA lCRg== X-Forwarded-Encrypted: i=1; AJvYcCXDRqzkXedXk4uB62NINiauHOouJ9dSvnQNuVWwXbx/9sp+J9BzWph9ALwI0gc8+hhBccZTbRpTylpYUFM=@vger.kernel.org X-Gm-Message-State: AOJu0YxqOkbouH/bMm5N0O2JtViNna059A22TH5gFp9XR7JCrMNYfffi KigE9kmZdvZZEegzXxgxzCb+XHrBnwGfS7YaoD7OqPAGn/P5qLcCii9gsxoi4VupdFDbj8gcSi1 vjAGvVw== X-Received: from pgaq67.prod.google.com ([2002:a63:4346:0:b0:c6e:8f1b:392a]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a21:3941:b0:38e:8842:6683 with SMTP id adf61e73a8af0-394fc13aa71mr3169591637.5.1771456206901; Wed, 18 Feb 2026 15:10:06 -0800 (PST) Reply-To: Sean Christopherson Date: Wed, 18 Feb 2026 15:09:53 -0800 In-Reply-To: <20260218230958.2877682-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: <20260218230958.2877682-1-seanjc@google.com> X-Mailer: git-send-email 2.53.0.345.g96ddfc5eaa-goog Message-ID: <20260218230958.2877682-4-seanjc@google.com> Subject: [PATCH v2 3/8] KVM: nSVM: WARN and abort vmcb02 intercepts recalc if vmcb02 isn't active From: Sean Christopherson To: Sean Christopherson , Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Yosry Ahmed Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yosry Ahmed WARN and bail early from nested_vmcb02_recalc_intercepts() if vmcb02 isn't the active/current VMCB, as recalculating intercepts for vmcb01 using logic intended for merging vmcb12 and vmcb01 intercepts can yield unexpected and unwanted results. In addition to hardening against general bugs, this will provide additional safeguards "if" nested_vmcb02_recalc_intercepts() is invoked directly from nested_vmcb02_prepare_control(). Signed-off-by: Yosry Ahmed [sean: split to separate patch, bail early on "failure"] Signed-off-by: Sean Christopherson --- arch/x86/kvm/svm/nested.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c index 48b60dd6e7a3..793f5d2eed3a 100644 --- a/arch/x86/kvm/svm/nested.c +++ b/arch/x86/kvm/svm/nested.c @@ -128,6 +128,9 @@ void nested_vmcb02_recalc_intercepts(struct vcpu_svm *s= vm) struct vmcb_ctrl_area_cached *g; unsigned int i; =20 + if (WARN_ON_ONCE(svm->vmcb !=3D svm->nested.vmcb02.ptr)) + return; + vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS); =20 c =3D &svm->vmcb->control; --=20 2.53.0.345.g96ddfc5eaa-goog