From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) (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 054F336A367 for ; Fri, 31 Jul 2026 20:10:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.200 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785528643; cv=none; b=Aon5HKkRXvsploVOKHvqWK9PSgd5Po4QumP1I9R2jAiceAy4kA9Bv+FCxj240nwCww05ObggTK9C8SgGUjBtxbog9LGlMOteHK3/9P2iq8bx7ow5/Y0s4N09KsiuwYyA8JbSAu/z688Co2l+ggn4+65ib76U1Omnj9ItZqC3Ks0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785528643; c=relaxed/simple; bh=I6na69F/Nuy0VvfxxAcYJk/QzSruwLvHmQEDbjV5h2U=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=n8EMEEWlhpnyLklZ/9Erm17NSGFqGJ7VElUh5uGWzgAHmX4T9vpqdAHKNvBNXbEWtlYRnDTY6ykLj1w0Z/i80CUv1gJ/usDacLHPrYQhVnS+aBXx8+iPmzL+71zZfy9RrQ0qGATnYP5idi/pTJMYNYoJOa41dCX1oktm8CdaB2s= 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=obIDrT0h; arc=none smtp.client-ip=209.85.214.200 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="obIDrT0h" Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2cfca8558d2so17046065ad.2 for ; Fri, 31 Jul 2026 13:10:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1785528641; x=1786133441; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=FU39kIkoMhXTKKpE37dh0PJvK+pnljqlvEGquRB6geM=; b=obIDrT0hWY+wXtjielfWNeaP/hh9geESH9WBfktnprgs5OgxqIIgsvQ4PJppG+CYIi xX1t8Iq741ZUBvwfbYlVXzVTUnqEjh0rmRMcNSefeE4XyQfEbklkZ3Y1L2kxVTIZ0f+I BN2UZpBvWDU3wvbdV1T5j8Tn/2B3DMm57FbIk9qB0NLIj89ppzdaEcN3rLFtEmghFBWs OypFOAa67jHLiLHnPYHGQ5Ph+Z4SQK5+C0L4KRnvkUBzYuB9Q8ylFrBj37yhplV91y88 K187XoToZ1tqmXVcbEUW9tBffIzq4cYLJrAp9h7idzeYDK/ecVn2LLZrtRhIcD8Za92j eSGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785528641; x=1786133441; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=FU39kIkoMhXTKKpE37dh0PJvK+pnljqlvEGquRB6geM=; b=XapehUxqtpSJ1zlMe12kc57uGCmH7J1gRodNU0o4KurQZ3swbmHN0cwymnkG8Ja5pj TC5+44Yd/YgDIMPJOHsKeGrch/OnGN9et6rAwVn60G+jRiHtO3THlN1qG4XftW5rL7/s njs9Yka6gTW+6vs0gxzOaM+ZErNPEK6Ql5ddrJUBnpt4PDRqtdY8BolzeOve/0aI9FXB 9WCTPwLdw/bCSHe9quhGWAk3mcdLkooRWajvBKYelLfKzviJp5nMb/ffuDdAyFHMYTSk 2xq/9twLfU1/hyMYTaV6wt98Fzc28hj0FYgfeMqWWmO0nBk5ZkAq4AOyOB4hnZnPJn88 Lq0w== X-Forwarded-Encrypted: i=1; AHgh+RrK+pLwy5ZunYmXblgGyJn3HMlaxxuSlXUMVrhvvMnZoGG+iD3Uvm6/rfnJ+kTkpbCqoOHOnUr2yCclJkU=@vger.kernel.org X-Gm-Message-State: AOJu0YzX+MtZk4ZS273tyvjUF2e+ZmdeQ+6GfuT78dlvJf/mKF5WzF6T URgBUxr0O3Uvoy8UZx8MYhMBZGAnr6h4PYChWokmmN3hkTQARyQdpoqbVnuVrKmzXC0I+eZyuAc XcloK/Q== X-Received: from plbi4.prod.google.com ([2002:a17:903:20c4:b0:2ca:caf1:5e10]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:390c:b0:2ca:ce92:6e44 with SMTP id d9443c01a7336-2d05218984fmr11367635ad.8.1785528640749; Fri, 31 Jul 2026 13:10:40 -0700 (PDT) Date: Fri, 31 Jul 2026 13:09:52 -0700 In-Reply-To: <20260724004757.131420-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: <20260724004757.131420-1-seanjc@google.com> X-Mailer: git-send-email 2.55.0.508.g3f0d502094-goog Message-ID: <178552810478.2701886.12087185654970147716.b4-ty@google.com> Subject: Re: [PATCH 0/6] KVM: Harden kvm_vcpu_map() usage against memory leaks From: Sean Christopherson To: Sean Christopherson , Madhavan Srinivasan , Paolo Bonzini Cc: Nicholas Piggin , linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Yosry Ahmed Content-Type: text/plain; charset="utf-8" On Thu, 23 Jul 2026 17:47:51 -0700, Sean Christopherson wrote: > Harden kvm_vcpu_map() usage against memory leaks by yelling if there's already > a valid mapping, and then unmapping the existing mapping before establishing a > new one. To get there, add a CLASS() for local, on-stack usage, to guarantee > the map metadata is zero-initialized (well, so long as the CLASS() is used). > > Prompted by 2f2312c422fd ("KVM: nVMX: Put vmcs12 pages if nested VM-Enter fails > due to invalid guest state"). > > [...] Applied to kvm-x86 misc, thanks! [1/6] KVM: nVMX: Ensure KVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit https://github.com/kvm-x86/linux/commit/11722439fb20 [2/6] KVM: nSVM: Add CLASS()es for automagically handling local kvm_vcpu_map() usage https://github.com/kvm-x86/linux/commit/d196e4d91e78 [3/6] KVM: nSVM: Use CLASS(kvm_vcpu_map_local) for SMM VMCB mappings https://github.com/kvm-x86/linux/commit/b717245a7b08 [4/6] KVM: nVMX: Use CLASS(kvm_vcpu_map_local_readonly) for MSR bitmap merging https://github.com/kvm-x86/linux/commit/6bb3493175d8 [5/6] KVM: PPC: Use CLASS(kvm_vcpu_map_local_readonly) for patching dcbz https://github.com/kvm-x86/linux/commit/e060b94a1cd4 [6/6] KVM: Harden kvm_vcpu_map() against double-mapping and thus leaking references https://github.com/kvm-x86/linux/commit/e186d4e34ad5 -- https://github.com/kvm-x86/linux/tree/next