From nobody Mon Sep 21 19:53:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linux.microsoft.com ARC-Seal: i=1; a=rsa-sha256; t=1783412785; cv=none; d=zohomail.com; s=zohoarc; b=VIGeAg3ywefGy48Ew8tz3svzsoZiRYXAjMv+Io7joEMklQ5+zjZ+6SBsIV73yPhSyOw6gimJnEXoc0u3RFeKkeK4gFyftX3hrdiVdX9rzMle1jr7wxqJeNSyJeWcxa9rQ2KkAyFto2eP/ZIzIQZrORR5XBRyks7Z7Q5DjUfY/ls= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783412785; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=VRbYtJTgywWcZK2ts6u+ZlPQujaG2QuZSP5iIQ9swJU=; b=EAo3Iqn2/S9sPvHMptQTI1Q8HVZLceb5AXVal3eqIgGb1l8jvcdhg9CU6VIK/SwTHmXsETxofEQdmEqB9atlXZr/ivR0Zs1GcTtsXz43/hnnmBXXUuFiSUpeWacfFovoG+S23L5hNxEAVBjNWEm6fQP6CShiW+ZGV/rxwOBunAg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1783412785534782.7893514542793; Tue, 7 Jul 2026 01:26:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh17j-0000Ks-70; Tue, 07 Jul 2026 04:25:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wh17h-0000KP-BM for qemu-devel@nongnu.org; Tue, 07 Jul 2026 04:25:45 -0400 Received: from linux.microsoft.com ([13.77.154.182]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wh17f-0001O9-Rt for qemu-devel@nongnu.org; Tue, 07 Jul 2026 04:25:45 -0400 Received: from laptop.localdomain (unknown [86.121.140.206]) by linux.microsoft.com (Postfix) with ESMTPSA id B10BC20B716C; Tue, 7 Jul 2026 01:25:36 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com B10BC20B716C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1783412738; bh=VRbYtJTgywWcZK2ts6u+ZlPQujaG2QuZSP5iIQ9swJU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WaqMJopfpbeIXIDerr1IfCvnU34HBHxqcJ3CnuEcrcuRLLQLbRV997LRKR2+z57U0 dtZKdEdxasVRRiJbiPGa+l9SbxBeT66JI80uFAO6w9X57+tl0EgVTOL94RTRhrOxh0 dDnt8OZMTSfmybcP1fGMbstathcFb/E/EPu2wCYQ= From: =?UTF-8?q?Doru=20Bl=C3=A2nzeanu?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Doru=20Bl=C3=A2nzeanu?= , Wei Liu , Magnus Kulke , =?UTF-8?q?Doru=20Bl=C3=A2nzeanu?= , Paolo Bonzini , Wei Liu , Magnus Kulke Subject: [PATCH 2/5] target/i386/mshv: abort when hv_vp_register_page setup fails Date: Tue, 7 Jul 2026 11:25:28 +0300 Message-ID: <20260707082531.178539-3-dblanzeanu@linux.microsoft.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260707082531.178539-1-dblanzeanu@linux.microsoft.com> References: <20260707082531.178539-1-dblanzeanu@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=13.77.154.182; envelope-from=dblanzeanu@linux.microsoft.com; helo=linux.microsoft.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linux.microsoft.com) X-ZM-MESSAGEID: 1783412786634158500 In case the call to mmap fails, we log an error and abort to signal there is something wrong with the system. Check the register page version and compare with the expected version and abort in case of a mismatch. Fixes: a173f8f170 Signed-off-by: Doru Bl=C3=A2nzeanu --- target/i386/mshv/mshv-cpu.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/target/i386/mshv/mshv-cpu.c b/target/i386/mshv/mshv-cpu.c index 126ca40b48..3d92d4dbad 100644 --- a/target/i386/mshv/mshv-cpu.c +++ b/target/i386/mshv/mshv-cpu.c @@ -2049,6 +2049,7 @@ void mshv_arch_init_vcpu(CPUState *cpu) CPUX86State *env =3D &x86_cpu->env; AccelCPUState *state =3D cpu->accel; size_t page =3D HV_HYP_PAGE_SIZE, xsave_len; + void *regs_page; void *mem =3D qemu_memalign(page, 2 * page); int ret; X86XSaveHeader *header; @@ -2060,15 +2061,20 @@ void mshv_arch_init_vcpu(CPUState *cpu) > HV_HYP_PAGE_SIZE)); =20 /* mmap the registers page */ - void *rp =3D mmap(NULL, page, PROT_READ | PROT_WRITE, + regs_page =3D mmap(NULL, page, PROT_READ | PROT_WRITE, MAP_SHARED, mshv_vcpufd(cpu), MSHV_VP_MMAP_OFFSET_REGISTERS * page); - if (rp =3D=3D MAP_FAILED) { - warn_report("register page mmap failed, falling back to hypercalls= : %s", - strerror(errno)); - env->regs_page =3D NULL; - } else { - env->regs_page =3D (struct hv_vp_register_page *) rp; + if (regs_page =3D=3D MAP_FAILED) { + /* This shouldn't fail, so we treat it as a fatal error */ + error_report("register page mmap failed: %s", strerror(errno)); + abort(); + } + env->regs_page =3D (struct hv_vp_register_page *) regs_page; + + if (env->regs_page->version !=3D HV_VP_REGISTER_PAGE_VERSION_1) { + error_report("register page version mismatch: got %u, expected %u", + env->regs_page->version, HV_VP_REGISTER_PAGE_VERSION_= 1); + abort(); } =20 state->hvcall_args.base =3D mem; --=20 2.53.0