From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 646B98017D for ; Tue, 6 Oct 2026 17:20:56 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 696HJhqK026676; Tue, 6 Oct 2026 20:19:44 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 696HJhqK026676 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="JdjAxegu" Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 696HJJD9026633 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 6 Oct 2026 20:19:19 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 696HJJD9026633 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4a17c024b89so6628735e9.1 for ; Tue, 06 Oct 2026 10:19:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBwz81CO7UdCf6+wHEXk96e13LqJTAWePpDWV5b9ejJBC9RlnjfHpcmVe4GmSyvxF+2GiUL7oQ==@openvz.org X-Gm-Message-State: AFuF++kyPkGq9tHh4nLKrCGALtprazbCxvgR8bofE5H5OuS9b3MI69lt XE22H2FybDkcb6b0fQpYdhj/3sJIkal7RxjpEkj/vKzRAh9GtBki88BP0mKdFGwzuJszrim9ySw wyWgPslltBYTDSh2js+6XVfk1egLWScPZepqqhxjBCyLB3R6idQYTUA== X-Gm-Gg: AYBFou05zVECAu8ZWvV6Hu4i1mi7pLaM6MHOppXQ53SGRd0hTp16aXl9Cvc2srdktEo j+JQainOLbFN/CCOXNtKusCH+AR4DVcf0Wz5Qo5XU133XK5CUse0lREozv4633dtwkG2V9LE960 CLlX3U3daFarq7KGOo6k3mrz32qrrs4U/DPAOEmkwSoE6rnB9+uXzoaUQmzHLfKH4OGyZ0me3QI 2lRUqQ9Q65rsAOed0s3w4SEx5NiiItdBtwD55eUt3NFABT2IQfQRkXwFSiUpgkU8sw4quNtbRNR ff+fyFi9QOaWqfg2IDCP62Ok6lg8hdTv6TZOenZMbV7439x0ByuLy+DtiYD3aWcZMqUJogPf3E3 ezzIkG8wb4T3hmYyW X-Received: by 2002:a05:600c:1394:b0:4a1:7b53:c8c4 with SMTP id 5b1f17b1804b1-4a17b53ce4dmr35354585e9.27.1791307159500; Tue, 06 Oct 2026 10:19:19 -0700 (PDT) X-Received: by 2002:a05:600c:1394:b0:4a1:7b53:c8c4 with SMTP id 5b1f17b1804b1-4a17b53ce4dmr35354255e9.27.1791307159081; Tue, 06 Oct 2026 10:19:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791307159; cv=none; d=google.com; s=arc-20260327; b=HwmLpSosQiOpxYyYvkWyztN/INQip6wNVY8g2wCCOuklBJN6Cz14BinQdKvaDF2nHK gDB6bOzbf4Mn31Pymu9309EBkKkFm2n7FW2ax+bIn2j7cnj9duRtRZ0ZRa8xc1Q9OV7k 1WVUmIrCddjtaTo1xUHR6Zj9qPK3Dg6Vv5CzgprlDWYrsa7Iquh3cbAN/7aMGAsYP4ds vILy6bo845OCmtHZZXpzpRG4BRaOD+7H6iZxLSdW0UOx99xJVhUHYDxkb20VVDz23V/Y cPteM69N3mSgsyrrbDcTo5PuvIOF4+z9hXXmJv1BIA+y8X9tv/u4MALmiMVpYlYZ7Bgm k5/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=v5S39xA0VBXeLQWOA11206UWNJbWkvHiGwU2oOx6Zhg=; fh=bRkZfFa6377EgOVW8zBDri2gGIQqe/ZeiH+ijEM/ROI=; b=KtVP4bwYxhrxZSBZ1tlCu0fUZeSK6mb85cwIPyJOqlgYW9TkiL4g5iOrLRD57RDWeS /eWkTrgTGloFLp80VC1jGfTmCJFMArhK3hHmNSggkYH99mdS4RMlnNtdqcAItN54Tk0E 9EGK5eh9iiZNC2eSDJqxSgrAtQPVH/k81dg5MuN7U7vuel5PuvMI2ELnziZdxMBZKZeM QmXWthAsHHqHQOaHR5j0Vreg8WdyTY2JmU2/R+l475eMW6bjRaP03h0dZxNt4eAMp2bt 8RdDwU8UNsxVIKr64/OtC66y6dieBPzlEO/Y4BHKoaIEX4gN4w3+oGIODSX+11fRkhdR 5B+A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=JdjAxegu; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id 5b1f17b1804b1-4a178a39729si62753425e9.0.2026.10.06.10.19.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Oct 2026 10:19:19 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=JdjAxegu; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=v5S39xA0VBXeLQWOA11206UWNJbWkvHiGwU2oOx6Zhg=; b=JdjAxeguc686QR7bra2 ET3y2Id+rvA9RLEfXNaU/M/S6ejJrsqaUj7gCMtM3yo+zChpbtlqD6p3AHJMvl9q1XXZJPmqjpXyj Y7AVcjC2+tIiM0o+mBA5AD3GH8W7IHUvXe4jkVPq/mKXSlejdwNXz/JkM4eZ9mvLVMnE0F5ZRxL1d l3NItfARZx7NN5WS1R2b1ekEomfQoYn4d8+qP2ddrFuH2uCu1AtxUXTRy7eyX2WYHPzTJu3MfG/Kk BYqnyKu74/V2KiJ17ylAxi4tpIGhRHTA0+e+iiL52bqAXfVZV0d7tgkY+e5UBfyTdjAS5u/pUay4Y Wgx5PSJnGWLcuwA==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xE8lh-00GXnn-2R; Tue, 06 Oct 2026 19:19:08 +0200 From: Konstantin Khorenko Date: Tue, 06 Oct 2026 19:19:14 +0200 MIME-Version: 1.0 Message-Id: <20261006-b4-prep-khorenko-vstor-148656-cpuid-v2-5-f6d1192c7d60@virtuozzo.com> References: <20261006-b4-prep-khorenko-vstor-148656-cpuid-v2-0-f6d1192c7d60@virtuozzo.com> In-Reply-To: <20261006-b4-prep-khorenko-vstor-148656-cpuid-v2-0-f6d1192c7d60@virtuozzo.com> To: Pavel Tikhomirov , Vasileios Almpanis X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2369; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=RdMFWUNlmQeyh6nyM0bHubmBtULU5WDrzLHdtuXJEFI=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBqxS2Vi+ivbjkfbajxmFuX35PzbcD9yt5ImhwL9 53ZnBReelaJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCasUtlQAKCRBRlgpH+WFc KmGgEACpSYqTAevcmMJ9B0xDfTQuyoqLn+yJ1E/GrQd8JthPZJ6dFLiOE2GOgdZP0Ht9dqX+2q4 VvZBfRGaTwIvK3IqhPwF4yagOod+qrH0i3a74yTpl5HyJ+uRnthxV+SWQYwORLwSLv4QyRAqE7+ QfABhlwBs1oV+JhFmVwmIx79sgMJy55YjRJdv7++OQy3dekslwEhekGs4aSOTnAjFHRnKBO/elG eUHsy1+y/WbHEPfPIDjbjoj0BIrKiFQ1Vn8bTLIXxcQIKvsI50jpXJmnuMcORYYnFS7q7L+L+k6 viYVzhwk4PjBZbohuCeIGDWNeooY9clbrciyMEFgBjbN0EhVzCZeWx6MNrTzZ+nXJBykOJqLUiL j5xYiz+PY4NTXAqnoYj1risbIIroLRLMXsXRNxf7k06O7xfBNJwIrNgSVmxzaHW8yOjGLRKjg1a kV3y0KsPr02ilDi9YCQLDhMnQyQ3Ep9xJaoQjD4lOnCI73ajR5td+eMFAD4pppWbERwRIzao/Qu TEB1NffkmlwuspGqe+bavavBCmpTobLkHan1Mn7DCdxn++Nkl2sidJq64w9gq6sqF8rY+kxD55y 7dIpbKhgDP2OhIRvv5isGSndx4GggrOOukgmYqB/pFBEhEguuMrCiN7s/4ge9q3XiHQ6+dik9/A wvF4HNsX3CmoEHg== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v2 5/5] selftests/ve: check CPUID override emulation for a prefixed CPUID X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org Execute CPUID with an operand-size prefix, which the CPU ignores, and expect the table values. Before the kernel change the #GP handler matched only the bare opcode and the child died with SIGSEGV. https://virtuozzo.atlassian.net/browse/VSTOR-148843 Feature: x86: cpu pools (cpuid override) Signed-off-by: Konstantin Khorenko --- .../testing/selftests/ve/ve_cpuid_override_test.c | 29 +++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/ve/ve_cpuid_override_test.c b/tools/testing/selftests/ve/ve_cpuid_override_test.c index 0e748d4fd5f33..67ab9f02442df 100644 --- a/tools/testing/selftests/ve/ve_cpuid_override_test.c +++ b/tools/testing/selftests/ve/ve_cpuid_override_test.c @@ -43,6 +43,14 @@ static void do_cpuid(unsigned int leaf, struct cpuid_regs *r) : "a" (leaf), "c" (0)); } +/* CPUID with an operand-size prefix, which the CPU accepts and ignores. */ +static void do_cpuid_prefixed(unsigned int leaf, struct cpuid_regs *r) +{ + asm volatile(".byte 0x66, 0x0f, 0xa2" + : "=a" (r->eax), "=b" (r->ebx), "=c" (r->ecx), "=d" (r->edx) + : "a" (leaf), "c" (0)); +} + static int write_cpuid_override(const char *table) { int fd, ret; @@ -65,6 +73,7 @@ static int write_cpuid_override(const char *table) struct child_ctx { int result_pipe[2]; int stop; + int prefixed; }; static int cpuid_child(struct child_ctx *ctx) @@ -78,7 +87,10 @@ static int cpuid_child(struct child_ctx *ctx) if (ctx->stop && raise(SIGSTOP)) return 22; - do_cpuid(CPUID_LEAF, &r); + if (ctx->prefixed) + do_cpuid_prefixed(CPUID_LEAF, &r); + else + do_cpuid(CPUID_LEAF, &r); if (write(ctx->result_pipe[1], &r, sizeof(r)) != sizeof(r)) return 24; @@ -261,4 +273,19 @@ TEST_F(ve_cpuid_override, armed_before_first_reschedule) } } +TEST_F(ve_cpuid_override, prefixed_cpuid_is_emulated) +{ + struct child_ctx ctx = { .stop = 1, .prefixed = 1 }; + struct cpuid_regs r; + pid_t pid; + + ASSERT_EQ(write_cpuid_override(self->table), 0); + + pid = spawn_cpuid_child(_metadata, self->cgv2_fd, self->ctid, &ctx); + resume_cpuid_child(_metadata, pid); + collect_cpuid_child(_metadata, pid, &ctx, &r); + + EXPECT_EQ(r.edx, self->host.edx & ~self->bit); +} + TEST_HARNESS_MAIN -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel