From nobody Sun Feb 8 13:53:35 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B19D826C3BE for ; Wed, 7 Jan 2026 05:39:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767764357; cv=none; b=F83WICPefOj2I/DICLnvV9ughJ58rQj5JdgvPo28e93mpY3LgobIafSOFyEK0ktJSv5vWZM1xPdxPRb0t17h94raPJIohDd8BB+2jPwp5lKhsFqm0e1Z2hA4JSA+RC/P0qJS2oMySi+Txl5gvl8o3+V1zjlQxWCslCN1cwAN2Uo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767764357; c=relaxed/simple; bh=dS/1XwuM3soE4zMznpdoY9Pcwg3cH7gIQnm86dDsTnE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=AHGE2E+u9sbXxJk5dhlcBjdspHqODFcxoR3HiWSC0ABi3J705nbKBafS0+bpj44XsFtj74+zxZhFm4xxKWEpPnjKkmjQ+5xP8Twms29H6X3gVlBERaRGTbK0hlUR84fMfJZmabYMfkP8Atk+AMXsfVnot5gUW/oaveT1VWC1Q4o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=lgpjCCZY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fZS1McJy; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="lgpjCCZY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fZS1McJy" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 606Nwm6d3141663 for ; Wed, 7 Jan 2026 05:39:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=nAF4cmlQB74fEG5mGg5TgnQuCtp9YvyxuRe TZpZX3Rc=; b=lgpjCCZY8d3JmcgYSiQ+SqgGMznI4E+U2Jye7xLB+aYkg9QWA0j ECXaG6Bhk94vHg43D9mMkA84tFWdrhPizg0PPAW+XkqFSnhNABg89S68UIuldEMd egPmVz5B/LozxRlDCyPEAsh5DqXvfycMoewnWq+XOzbNvFM7aM7oK9s7odYX280x Kw2N5FLxRDijWy6+jmijh/UMzGy0GMVA5etpgowBYfI8hbJ88eqiobu/bwFwRhM+ Oc2NoIQPZx9rjiH6mvK0W91UFCljg4Py30JYZwAnZS8/pwyBejD4LMKL6Tms6tlA Hk24zt4ZBiydARsxie0h0xLQWilQQhAK7Fw== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bh0vm313u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 07 Jan 2026 05:39:14 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-11f3b5411c7so4924932c88.1 for ; Tue, 06 Jan 2026 21:39:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767764354; x=1768369154; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nAF4cmlQB74fEG5mGg5TgnQuCtp9YvyxuReTZpZX3Rc=; b=fZS1McJylUt/OPJv+3RcHye8Orwkh8ymN/yEbCW7czTCpDH85zyM76g2lwQ25PMeLV XFVSpbZy7XzzHB9PpOalMU+HusZU5a+AUnCXStxkea+3BhO23Dh7ZXtJMfV1XKWFhc6v LlloVPwaGL1Ba52XpH4Pox+wz0pEPBrEENzrWHY8SlxEAGyyEgwTNhhcsMiHXtwEqkeR //iaCHDHkjAobG0cXTjyz4XgJ4psY1uS+g0zE4YbAvUQVMa9h4H1ckClIHPZ7BD32z7M sVehqqNsTKYK6mISgi/gLyZY4pwyWGDCGF8LeGk+z8v/KWq6scLdQHdPjY7Toh4tAnyp 20Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767764354; x=1768369154; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nAF4cmlQB74fEG5mGg5TgnQuCtp9YvyxuReTZpZX3Rc=; b=f+smth2QpXAWF7TewLeNqIA/ezDVlyCeUky+BWHT7VuzPoKPGKYQWgHw0qOEzdg7Kf NNOV8WUH460HB5tyAo+cc1bTtzeuR+wmscjNI3jjT/iJCO5XxSnhdL+GzS20oj4jBkfa Kg8vsdbaO76X9eDNI2Dr07KXNt2daCuzO9mgz1ES1eP2UU80VNG9g8nNMPjlrCp2Phi3 VrR40abBbCumxZ1EeDRML/65JdF/5XNHRMp/72gG++epwO1V8zHc2ZVE4SlxhqrMK4nb Tb/OmT3UoFg1LHtyejoc3+J9fCdixO74r7gR3aTRtH/RTqLBDkfQKNkL8LjkgjLrhN5u 5Kag== X-Forwarded-Encrypted: i=1; AJvYcCWwdRsnOuSH6HgwNFlecLL920e0Cuixp7UmYNRl8h4NH99Fz/zj4Hg1JzDs5n0mVS3FCjjIo3n7USfopL4=@vger.kernel.org X-Gm-Message-State: AOJu0YxLk4eaez9vOy5zPar4RXXJGF654vjXIJG1ucN/FK4D6ysH0d2e rKb9sa/KAkdys0n+sKSVKdN0RoJMoWJCllJZi27X0t9fYi/IY3EQrlf2raUSLPK0DpM2/QRLXz5 QJsAQcUzQZC2xQCHZARqy0joeFfBAaGTOTPyWLcDE8mWpc2EKawVv1CsZ54YG7b9r8ok= X-Gm-Gg: AY/fxX4TiT0YfwwmWST4Bym+v+9hpWO+sf8892ZM5z9srRkOV7KREjN7AJpQZ7CSQPV 9GPZnEuG8tkuTYpdrQDPJ5U+U9Iqdgv/zBFq0nuUKo2LFB9jzDT77EuS38OqGaHsSQf7M6ZBWjO i9jPNL1ztfcmxLEC3BzpzOF47DOPKooXES7go/aceK5h2G5lkc0KyhZevBKmZgyfYxoa1qTuk6s 8WgLkFCb44UVQR4uw1MIdjd4vBJiOjMDV+sQlf4be5c+AzmG2WeFAaRYro2n8y0cprP9wi5o0dK X2nYbhd8W/xRfy3wiysFVLA0evXBW46igu8ZKeoD/Tt8+eShq8PRfnM1H02CmBx+bg8CxNBWujg yDgEkQfK7c2q2JaAjOs6AehB9GsQVsAQye+b8K7jsmasltuT2gWLZztQ= X-Received: by 2002:a05:7022:440b:b0:11f:2c69:3e with SMTP id a92af1059eb24-121f8ab67dcmr1318361c88.6.1767764353987; Tue, 06 Jan 2026 21:39:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IGZ4EiGgfSX4Rs6euarnnkwl4nNgaFxGA2YWd9xO1Jenw2cQpcKoyKhKpEXWv2Xw0QZL3aIiw== X-Received: by 2002:a05:7022:440b:b0:11f:2c69:3e with SMTP id a92af1059eb24-121f8ab67dcmr1318346c88.6.1767764353340; Tue, 06 Jan 2026 21:39:13 -0800 (PST) Received: from hu-liuxin-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-121f2434abesm8685251c88.4.2026.01.06.21.39.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jan 2026 21:39:12 -0800 (PST) From: Xin Liu To: pbonzini@redhat.com, shuah@kernel.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Cc: xin.liu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, jie.gan@oss.qualcomm.com Subject: [PATCH] selftests: kvm: add boundary tests for kvm_create_max_vcpus Date: Tue, 6 Jan 2026 21:39:09 -0800 Message-ID: <20260107053912.516913-1-xin.liu@oss.qualcomm.com> X-Mailer: git-send-email 2.43.0 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 X-Authority-Analysis: v=2.4 cv=Pa3yRyhd c=1 sm=1 tr=0 ts=695df182 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=uMqdHpgDjcpMDGccECEA:9 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-GUID: pZCd2wTe0AeqDW3WO_6vkKADTfXD02vp X-Proofpoint-ORIG-GUID: pZCd2wTe0AeqDW3WO_6vkKADTfXD02vp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA3MDA0MyBTYWx0ZWRfX7/GJ4bA3slb+ uo/K4OJFlncqU5vQ3jWMSCKyuyjJzfp8ePcJSnyuR19E/XDh78E3GZ+7hnN19Di3HOFDIN0D0tN nR1W91Z+8UsJ9fTi6nZfYuTo7nD5uOIh2GiXerRz+ZhhKRPCiAt+8bot7afeHfTGegy0pTeCX2W hYIKuXXvQF1h4KfcpOpxxeIW2WzUTfuPmxHPwXGPsN80EoE+zpxvtb6xSuRdoiFHwa4VtNMz+h0 Ic6FCBmOyxl2sBhf/6ko3AqEdyQhEkDdfzAoHG4Wv4SEpjwGC76K8QAwUzrNKeSVQ/imikpvNoI TeAo05Ry8htkhkohB8SW+yPKMmCVuiLyGFnREasFAqUBRTzjZpsQTOKMC95Cz3Ku1ZInxBEu7Bi CJVrh+kHIdsMTcuavIpeBfhbUCadLBrWywkP/vRaeuM/v0GAV8cSMR8vFsPqwzAS90J/0onUzrM MSRZXXDYL3jpIvTvzgg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-06_03,2026-01-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1011 priorityscore=1501 lowpriorityscore=0 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601070043 Content-Type: text/plain; charset="utf-8" 1.Allocate extra vCPUs beyond max count, assert creation failure. 2.Create vCPU with ID over max ID, assert creation failure. These tests cover function boundary scenarios, ensuring correct behavior on vCPU count/ID overlimit. Signed-off-by: Xin Liu --- .../testing/selftests/kvm/kvm_create_max_vcpus.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/kvm/kvm_create_max_vcpus.c b/tools/tes= ting/selftests/kvm/kvm_create_max_vcpus.c index c5310736ed06..42c88c249192 100644 --- a/tools/testing/selftests/kvm/kvm_create_max_vcpus.c +++ b/tools/testing/selftests/kvm/kvm_create_max_vcpus.c @@ -17,10 +17,10 @@ #include "asm/kvm.h" #include "linux/kvm.h" =20 -void test_vcpu_creation(int first_vcpu_id, int num_vcpus) +void test_vcpu_creation(int first_vcpu_id, int num_vcpus, int kvm_max_vcpu= _id) { struct kvm_vm *vm; - int i; + int i, fd; =20 pr_info("Testing creating %d vCPUs, with IDs %d...%d.\n", num_vcpus, first_vcpu_id, first_vcpu_id + num_vcpus - 1); @@ -31,6 +31,14 @@ void test_vcpu_creation(int first_vcpu_id, int num_vcpus) /* This asserts that the vCPU was created. */ __vm_vcpu_add(vm, i); =20 + fd =3D __vm_ioctl(vm, KVM_CREATE_VCPU, (void *)(unsigned long)(first_vcpu= _id + num_vcpus)); + TEST_ASSERT(fd < 0, + "Expected failure when exceeding KVM_MAX_VCPUS, but got fd=3D%d", fd); + + fd =3D __vm_ioctl(vm, KVM_CREATE_VCPU, (void *)(unsigned long)kvm_max_vcp= u_id); + TEST_ASSERT(fd < 0, + "Expected failure when exceeding KVM_MAX_VCPU_ID, but got fd=3D%d", fd); + kvm_vm_free(vm); } =20 @@ -56,11 +64,11 @@ int main(int argc, char *argv[]) "KVM_MAX_VCPU_IDS (%d) must be at least as large as KVM_MAX_VCPUS (%= d).", kvm_max_vcpu_id, kvm_max_vcpus); =20 - test_vcpu_creation(0, kvm_max_vcpus); + test_vcpu_creation(0, kvm_max_vcpus, kvm_max_vcpu_id); =20 if (kvm_max_vcpu_id > kvm_max_vcpus) test_vcpu_creation( - kvm_max_vcpu_id - kvm_max_vcpus, kvm_max_vcpus); + kvm_max_vcpu_id - kvm_max_vcpus, kvm_max_vcpus, kvm_max_vcpu_id); =20 return 0; } --=20 2.43.0