From nobody Thu Nov 20 14:14:10 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1763597905; cv=none; d=zohomail.com; s=zohoarc; b=DUZpD8kHCLuk4fFa2Vmw4KB3XcFa80Q5wUfOl3NJGnl8ng3Z8m847nO1o/Mlcv+bgwmOImaGwkMaK1IwyJOaHhNN0n0yU3yucEEQZQzIzP4dKlEWRGQHbJBAW1mqr1Fj7HzP3Jb9btBAMZ/QS138Qymki8iz9TuYQIzrgdRHzUs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763597905; h=Content-Transfer-Encoding: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:Cc; bh=BBW85pbyW1JiYUXYRrf6v5xu2V5GcK8qF6OmC8TQVL4=; b=PsRUPwLkVKZFCKjkjlEZ/fH3i94QnSpYJwCdAqNR4H+WTniER0IUl8JmQ3yFj9hHAUgd4XKKVErIV3hcge+QS9NaM7X2hVBbirXccGA6Q+XUo5xpsj9TEyOolgbAWjcASRjc/MUuzH7bzSZ+jjKyVkDdEiHXfcZadNNbRcb6/xI= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1763597905641698.7716237606995; Wed, 19 Nov 2025 16:18:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vLsMO-0003Am-1l; Wed, 19 Nov 2025 19:17:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vLsMM-0003AE-0f for qemu-devel@nongnu.org; Wed, 19 Nov 2025 19:17:14 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vLsMK-0007RQ-Ci for qemu-devel@nongnu.org; Wed, 19 Nov 2025 19:17:13 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-402-OcSFa8JpPvSbWuOcVMKAhg-1; Wed, 19 Nov 2025 19:17:10 -0500 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-477b8a667bcso4031755e9.2 for ; Wed, 19 Nov 2025 16:17:10 -0800 (PST) Received: from [192.168.10.48] ([176.206.119.13]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42cb7fb8a29sm1903427f8f.30.2025.11.19.16.17.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 16:17:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1763597831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BBW85pbyW1JiYUXYRrf6v5xu2V5GcK8qF6OmC8TQVL4=; b=FerCf5DdMMk1PxSmrE4tsNlKRfmvqfu4fsYT9rSo+frELzWmID33Pmeqb+Zk/WACCu1qz1 mfITx+551epyIUc2d8p2uE2bC8eL19QTgS9ITpZeoFcnC+goC5rBQ5hDZihVxCoUoijxNa VWm+r0eAtiBJRjYZJaIUo8XuELdCEus= X-MC-Unique: OcSFa8JpPvSbWuOcVMKAhg-1 X-Mimecast-MFC-AGG-ID: OcSFa8JpPvSbWuOcVMKAhg_1763597829 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1763597828; x=1764202628; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=BBW85pbyW1JiYUXYRrf6v5xu2V5GcK8qF6OmC8TQVL4=; b=Pe5hK9dL/zAaSc9x5jOKftMYcwUeoirOY6fzV88yv0idjQgL/yk0W67XuzWGURBGu1 +ltMiXVL9tymFH25cFJ9u4UHgEZ7VKUjcLfCEGy1vjb5sV76+qN+gWPvZGyxf5Et+QOC Py8GvDAm78xlRIuNKEO+wQ6m77/pc+Sy2Bq/Y6MeQc7hurZN3McVPBcOBSV2lPBFEUce 45CDTf2m7cOOEhTwJUr1VlaBnYenmlUnjei4VqBm39mQWiXKg1xPy1AY7DW4ODmv0dRc o/ZeCSwI97IotdnoQqfNyMzfyXuRcE0Z5BY0zWH72T7Vto1v5Z/x0IYWWul2RO4k3eoi hUTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763597828; x=1764202628; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=BBW85pbyW1JiYUXYRrf6v5xu2V5GcK8qF6OmC8TQVL4=; b=qp8E9BWAJPESwDfcfTXceaH68HFBoRjPXmyFcvBOGXgu9XRRtXBmjV5TzexWomMNgK /eFHLwxOmezLpfCpNsGSVoAnxsBtLam+FT9scvbAoew/DR+DU4hYAFcI3zbobAZztuY9 2LJ9dbtuHin0gecBewyU+5VioV0qFZMAv/yVQwjWTfvVTocXOZ1Je4mGcLyOO0jYYcwC /75qWTQXRXE3uw8ozvS3HCRlxdIFt9kfCmd/jicVrLhpdEdIOWjsmXlR8Au863m1QMQI OpHz9VxLgeK2gZXAUbGZsFpqdYaGtRaFNfOuXRU5Voza+kbXDCmc8EjYjAIjdToeZNLI fgaQ== X-Gm-Message-State: AOJu0Yw3sZoXCelLMgaTAqCWZPJpVNXm1B4y+5pYADdHXC4vT46OI/by wuAedhAw2WkqmpsNlfH5Yw8Lh5bb9JjnBtoQUebJHEXxIJ++hf+3kUzfrlXgJudoqkHI61wspgD 4wwYyiQ0b+lLos/kQoSaCP3dA14LXrrJ099VtBGvicH/B1rWPSeHJsk6/ewMKvEhGpolkr6HbcS aRuluGUC07ZlUNQDUw7mY2hm5PKMfHH17AOT7J20uK X-Gm-Gg: ASbGncvKXvh/E44tuHxIDa1bYMpBpm52VktJ99J2jg9nvBcMsFdEnMbcfTv430Z11XC 5NY7cosdup2c0sZgtEiKEWgil9THde+K+qSRrYtCxf0LMpz8d8kNIYGcbhNJYaX6TTeEa040xgR 28C1HRciQIyKXFQz5zIDhM2Cy/WVkXbOYM8CgwQuuwOcRdqFfSALGxS0vcTm9gckVuoeNvZpbyO UCrRNakmBNTUgIhl8rT0rX+YcXkSy6QvLgpz8Dy8t1WoMQhxFAFGVOJIDIiHvdGVoYcYtCZ1gnX PQsm4kp6eh5PpMzKYHp9H7wNlHlb4twVSEWnLk/bUVpARHa+tZuEsupc8FyjyCxE+oSCjJFaiCz bhdKKNh+btOH49HCzT3LS4Mcb6Bxbh0RKXY1b7cKVpa/36Khj9DiqNntDkVMrPLWFIFoA5GH29T 7ezcRcxBYcPi8kBno= X-Received: by 2002:a05:600c:4f8b:b0:477:79c7:8994 with SMTP id 5b1f17b1804b1-477b8a9f74cmr10963975e9.30.1763597827590; Wed, 19 Nov 2025 16:17:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IHhiraFOWeMl5xdxy+IzthTwaC9fPlXW9vvn6cc2zJbPvyMRPj6fHJ3A9aRgpAYXLRpq/f5ow== X-Received: by 2002:a05:600c:4f8b:b0:477:79c7:8994 with SMTP id 5b1f17b1804b1-477b8a9f74cmr10963585e9.30.1763597825876; Wed, 19 Nov 2025 16:17:05 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/10] target/i386: fix stack size when delivering real mode interrupts Date: Thu, 20 Nov 2025 01:16:45 +0100 Message-ID: <20251120001649.1085913-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251120001649.1085913-1-pbonzini@redhat.com> References: <20251120001649.1085913-1-pbonzini@redhat.com> MIME-Version: 1.0 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=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 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 @redhat.com) X-ZM-MESSAGEID: 1763597908293019100 Content-Type: text/plain; charset="utf-8" The stack can be 32-bit even in real mode, and in this case the stack pointer must be updated in its entirety rather than just the bottom 16 bits. The same is true of real mode IRET, for which there was even a comment suggesting the right thing to do. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1506 Signed-off-by: Paolo Bonzini --- target/i386/tcg/seg_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c index 667b1c38696..227336c4ef2 100644 --- a/target/i386/tcg/seg_helper.c +++ b/target/i386/tcg/seg_helper.c @@ -1161,7 +1161,7 @@ static void do_interrupt_real(CPUX86State *env, int i= ntno, int is_int, sa.env =3D env; sa.ra =3D 0; sa.sp =3D env->regs[R_ESP]; - sa.sp_mask =3D 0xffff; + sa.sp_mask =3D get_sp_mask(env->segs[R_SS].flags); sa.ss_base =3D env->segs[R_SS].base; sa.mmu_index =3D x86_mmu_index_pl(env, 0); =20 @@ -1964,7 +1964,7 @@ void helper_iret_real(CPUX86State *env, int shift) sa.env =3D env; sa.ra =3D GETPC(); sa.mmu_index =3D x86_mmu_index_pl(env, 0); - sa.sp_mask =3D 0xffff; /* XXXX: use SS segment size? */ + sa.sp_mask =3D get_sp_mask(env->segs[R_SS].flags); sa.sp =3D env->regs[R_ESP]; sa.ss_base =3D env->segs[R_SS].base; =20 --=20 2.51.1