From nobody Tue Sep 29 07:39:37 2026 Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) (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 B71D930C157 for ; Tue, 11 Aug 2026 05:00:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786424447; cv=none; b=dpSHr5HTlixSNmox71cqu2tR0MtwQ7OdqqqeOt71FURPXetqG+WgFY+ptU2xe6HMYjB42zN9Lvb8e/NiCM+nsDxLqysTRGYJsRPjzBVdsBAxqcYBsgjM/7amGesnCchZt+SFHSAiwfgKLK9PYSszRWKrTOdLWl3xlbSnzItD3K8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786424447; c=relaxed/simple; bh=kz5eF8EgHJZV4kT1Yjijkfp28Af36RtKI66Pm5tq4pQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BNHloqzPOPqdXEakkk2RPaLOnCSfhfLWIKE4xMm9EUcghUsaMNC94RTevMKuUMx2uhBQcr/4kYsT1fxMl0n1YyAw89iVt/Kz52siIDZ1ju/itDJe/MDOZzNmPqh+3fG7EglBXI8Ppv63lfZUI7Wzvf3PXOKuYNZ9e/0pmEY2CRQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mZnZooOW; arc=none smtp.client-ip=209.85.215.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mZnZooOW" Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-c9ef3e1337fso321799a12.2 for ; Mon, 10 Aug 2026 22:00:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786424445; x=1787029245; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8XV1qyiW1WN9UH6X3Jv/ZBqv2q+Lebe5phUQECTXzBc=; b=mZnZooOWLAP2zjPsXkabxZb0ZtxeKPkDSaYHQrdJOi0OSeMqid/ipu9UHv9wk04Awu v5noujmBPEERxJtaXtLWXNInDFKjY92gGzMnFXXn1k8G1kOnMoQT3SY0u3XZMTL0lYxj 05MujVr5V+yd2Frj5u2dK8Xn3aMyP0c2WrAqqq9lHGOVdb5G/mGAdBKxcnxGqKkw5aVT johohxxBlJ1wVNMjs0C+R082c3tub5oYwNue+LO3j6DSLDUWjnzo1QLmYzF3agpXgGHc Tk2xbhLTyDiQDuK2TOpDsXYqwaDMmF/LGtA6Wv87PG2xrHgIeXjej1AiHrMTPaebPAdc x1eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786424445; x=1787029245; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8XV1qyiW1WN9UH6X3Jv/ZBqv2q+Lebe5phUQECTXzBc=; b=PprBG6V95CAgD7QjU8CEYYyp2QVC4jM7IK9m/d06d+oGpEk4IrIVG92zOw7Db6F34t JiQAErWyqdINamR9aFcBbCfAnEcYGBT2kFzS7WGuNGX27IS39CRI+LyrTG37dWSIGL/R pVzGHlqAKwxo9Rl9ZMbZx7sDZyiVGsxM+POvXqlqCGRWKxfm4H9kX4YXMr5au31h0VRQ Y3UwzovYrV31KzoWcpzqlpksrkRADuApclffvMwNuHZfWbZIANbf4or9xGpPdTKxawO9 Wt93jPnzjyT26h/P/Q1Nx8kVQyAyyLD5rnZmXwkUY+OmFbORUqc2CqRimDvyaIOucRlB B1ug== X-Forwarded-Encrypted: i=1; AHgh+RrYdZxLUr3UDzr17IaCe8koLixQhTDCJYbMFF7qB1EDjx1CwJMoYGqzbuwxSq4c2QK7eZJ09Vqnv+X0QF0=@vger.kernel.org X-Gm-Message-State: AOJu0YwpkI2Z5iqRfUyndzFUlv0uekLikJsWcsyaNuzwik3Is5qeuIHF 53YOV+Fu/fcuPaJfY3/3CJuwVu/uanCmGtVVbURqblXvL19G/fNKhEZD X-Gm-Gg: AR+sD11S1Q3bh/gFpFVuGBFd4iauDOLHTJ0Z0T5HJ4QdlMirDOro6IsMqLPMPQF6lW3 0xt3ZeZMIrMpbu5kowbjPhnYSuTjy0OIot3yCNFSZWVxo7cB05DdKR/wYP4096l/+1A1iZWzsO3 LEyMuYD5lwMMgidvYgGggp0oJ7ZbKdzg9ElzpxLHTJUP8Zcgn5jIunc0OnozJQH2FquPyeDNAc6 nH0m2lXfYtVfQNfjuct1U5I2mtVHkhBR37pgf8nHxdTxdQEeAn12zqCZTw5XwXmS8s56NGLLZPd pJyjzBF81c4NnY2QEjh/5wAGwfL/34Fsyn5sJkbHj8HxFEU4ANPum158IJ6gMXiVizYCUhA5pao E8OO02roUz9SjbSGytJxafqeGLC978LUbBCuq2Ludu1DSMX3mjmjMwgIl0r2FgI/qpGyvkOv2H7 Hx/Yvr0iyIY68Ma6ejXB8kVa9zzhulgiwVcOQIwZ9anNDt7mkkoQjtUUd+9m3WGSS1UG2kOPoxf V/MQxI= X-Received: by 2002:a05:6a21:3992:b0:3c3:8d86:9855 with SMTP id adf61e73a8af0-3cc2b793714mr1229672637.7.1786424445069; Mon, 10 Aug 2026 22:00:45 -0700 (PDT) Received: from 10-86-27-207.ban-spse ([165.204.217.251]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31c64f0a7aesm585166eec.29.2026.08.10.22.00.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 22:00:44 -0700 (PDT) From: Gokul K To: Sean Christopherson , Paolo Bonzini Cc: Shuah Khan , kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] KVM: selftests: Free the VM when the SEV smoke test's guest completes Date: Tue, 11 Aug 2026 10:30:28 +0530 Message-ID: <20260811050029.530698-2-gokul02k@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260811050029.530698-1-gokul02k@gmail.com> References: <20260811050029.530698-1-gokul02k@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" test_sev() returns directly out of the UCALL_DONE case rather than leaving the loop, so the plain-SEV path skips the kvm_vm_free() at the end of the function. The SEV-ES path is unaffected; it breaks out of the loop and frees the VM correctly. main() invokes test_sev() once per supported SEV VM type, so a full run leaks a VM and its file descriptors. Nothing fails today because the process exits shortly afterwards, which is presumably why this was not noticed, but the leak also means the plain-SEV path never exercises VM teardown. Use a goto so UCALL_DONE joins the existing exit path. A plain break would only leave the switch statement and spin the loop again. Fixes: be250ff437fa ("KVM: selftests: Add a basic SEV smoke test") Signed-off-by: Gokul K --- tools/testing/selftests/kvm/x86/sev_smoke_test.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/x86/sev_smoke_test.c b/tools/testi= ng/selftests/kvm/x86/sev_smoke_test.c index 6b2cbe2a90b7..646ae93e3c46 100644 --- a/tools/testing/selftests/kvm/x86/sev_smoke_test.c +++ b/tools/testing/selftests/kvm/x86/sev_smoke_test.c @@ -178,7 +178,7 @@ static void test_sev(void *guest_code, u32 type, u64 po= licy) case UCALL_SYNC: continue; case UCALL_DONE: - return; + goto done; case UCALL_ABORT: REPORT_GUEST_ASSERT(uc); default: @@ -187,6 +187,7 @@ static void test_sev(void *guest_code, u32 type, u64 po= licy) } } =20 +done: kvm_vm_free(vm); } =20 --=20 2.54.0 From nobody Tue Sep 29 07:39:37 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 586B12C21DD for ; Tue, 11 Aug 2026 05:00:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786424453; cv=none; b=R+puCulPvu/IPJTL58ApIF6EV4gj9mLW1paw/GBbDqOenJPsbbMa33O75LhrCbmeCYhGlNU9FV57gYrvNMod6zRF+mfE4BGQ9WuYFKq8OrCJKBBW42bH6sg/MmPwlIvfhH20ALpUJ8ROvUuO5ZcADER5pNMDmdDIaKnsVUVAQco= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786424453; c=relaxed/simple; bh=o6x4ZrBFFyJQtHw+/MAjr/5xinzQ/QrvRCDFwRw7OyA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gKBYXoSRNVcIfnySPZMUFCWKg5ZMUAwle7wHOr+5Gup/xrnu42U9yuA7nNHal/tcM6wOOwQAQtunUj4jokvO0SqvYXTTzbqfiKhyIzmSScbdkQ9cr5FJ7AhQLHNXmJ3CnfmtlNpt9s4TqM82mwZwu1VQ7HILdkg1GHUttM3FoYQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YcTfIPB9; arc=none smtp.client-ip=209.85.214.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YcTfIPB9" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cc73e322dbso29370065ad.1 for ; Mon, 10 Aug 2026 22:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786424452; x=1787029252; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Y5Yp2+G0Crvx2BGRAs6e0B1TwVgIjZjOOiINjptRlyQ=; b=YcTfIPB9ph5gDPCus/zZNwdB46op3PQqqkySYdeRWfrfPtO51j++jP1GkG0gh0SfWw BT8VcPgYEZo0/AzKuqq1KMWi8s/o8XxFMYZ7X/k/QMntKSud65IizKtIt51JSrtlXF6T rukx7QrUjESjCKacQwVKXE/7pEjunEV/7ilobvyFy0fH95Iu2KDuVkgjPjZ8StKgUZhL +0Hxi9N7Bzu40wkA70mioHe37tAiIbtkPmUSC2I9+h+Dr7liN70dJYP8BxSTtVXrfAJ7 lsRs3pzOjXVojkqvNPKsjrQvlTecV4XayIoRFpZfJkyea1ticqiP9d5qtNjee7VTu7gE aS7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786424452; x=1787029252; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Y5Yp2+G0Crvx2BGRAs6e0B1TwVgIjZjOOiINjptRlyQ=; b=IB9UUlCI3ll8m3O3WszqgA5YvhRnrj5Ap/Mj9iJGTQ7dzYS+tznNHK8urh/I6A10wk BVcYpz8n07jJzD8IgYFJBOCmYpp/0DbGTkdLrIHYluEuEtRgOwZdmrq3UTz24Lmzd57X Oa8WWcndobtBvVywO5/BvWAD+dFt4vMJE1rvKFfQBvwTgKLWvCzsTveTfaXanABf7bZR tRSdxPectQ8sO8X2nt/EetHOAI04TGLLLv2svRP8gHIQh/H09Aa+RozjrUmxzLP0rNNp M6e0u78i5/9nXbpZ1/Nq5wJgzE6QG+lkk5HKXEQRD9Ai2fwZJ5biqnS+x5v8vYNCXriw aMig== X-Forwarded-Encrypted: i=1; AHgh+RpErxNsQI38gqzCj8RtfU6OzZ9YAqa/9/IUikF2Xz/bAYfkCt5XT719yJfR3s0eyp8atYULgS9/AGi4u34=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6L/PH1y/Ozl3h91bNzp62PdAln2lg2av6XYozfy5RJVNu71br dGhPRsR64aJ877TwzqvpOuQrjTZJOkgVZ2ERfrV2ti7wdhVrG8oN9JHV X-Gm-Gg: AR+sD12y+CWAQ+1QV9xMpNRV2uMhDeKpAo3U7wN0B2GmqeErGnSmcpvqpWJ2pnUdiD1 ZH6F0WU/wl76vop2p5j6zvKaxUapg98kmjO0ReIst7ICC/KI/ww3h3TZv7dm2DI11uAQJCnvxt1 5jcvpxNlOLhYhPJ5g/BgHCbQtR37YzjizLBULN/Ch1cO03fwpT268ZEL7jM3QdlGDbFHxmbypTR aY1o+Hj6amgUxZiR6SsZf0BEXukrkQBmtJSGyjtpEDtmFEyvKpOPyBcpGYa+6RDCs1ncDKnU/5t VQHpaREHJNTQfPJz7CJHI+Vqr6U+vV0J6GBzWoYSLFUcEQqTUybWegyEKXx/PNOS1lYqxzApWSl iLmnaYkN1pxqbiKbgFA8+e0xjgH0dux7C+0I6771P1fVya86jfatYGVfZCfG31NFPfjFHvNFt7k iJFBIXQTObZnuOxFSqjQhdfeqx37an3AHv18a/qsQ7NY3P5HMmYkqN/SKwqOLwypfhjq13o3UzU A== X-Received: by 2002:a17:903:3c63:b0:2ca:6c8:abde with SMTP id d9443c01a7336-2d3179240a8mr10712955ad.18.1786424451576; Mon, 10 Aug 2026 22:00:51 -0700 (PDT) Received: from 10-86-27-207.ban-spse ([165.204.217.251]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31c619d0209sm587312eec.5.2026.08.10.22.00.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Aug 2026 22:00:50 -0700 (PDT) From: Gokul K To: Sean Christopherson , Paolo Bonzini Cc: Shuah Khan , kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] KVM: selftests: Free the VM when NX hugepage disabling is denied Date: Tue, 11 Aug 2026 10:30:29 +0530 Message-ID: <20260811050029.530698-3-gokul02k@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260811050029.530698-1-gokul02k@gmail.com> References: <20260811050029.530698-1-gokul02k@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" run_test() returns as soon as it has confirmed that disabling NX huge pages fails with -EPERM, without freeing the VM created a few lines earlier. Jump to the kvm_vm_free() at the end of the function instead, matching the pattern used for the SEV smoke test in the previous patch. Fixes: b774da3f2e57 ("KVM: selftests: Test disabling NX hugepages on a VM") Signed-off-by: Gokul K --- tools/testing/selftests/kvm/x86/nx_huge_pages_test.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/kvm/x86/nx_huge_pages_test.c b/tools/t= esting/selftests/kvm/x86/nx_huge_pages_test.c index 70950067b989..e3b20033a884 100644 --- a/tools/testing/selftests/kvm/x86/nx_huge_pages_test.c +++ b/tools/testing/selftests/kvm/x86/nx_huge_pages_test.c @@ -120,7 +120,7 @@ void run_test(int reclaim_period_ms, bool disable_nx_hu= ge_pages, } else { TEST_ASSERT(r =3D=3D -1 && errno =3D=3D EPERM, "This process should not have permission to disable NX huge pages"= ); - return; + goto done; } } =20 @@ -213,6 +213,7 @@ void run_test(int reclaim_period_ms, bool disable_nx_hu= ge_pages, check_2m_page_count(vm, disable_nx_huge_pages ? 3 : 2); check_split_count(vm, 0); =20 +done: kvm_vm_free(vm); } =20 --=20 2.54.0