[{"id":3688249,"web_url":"http://patchwork.ozlabs.org/comment/3688249/","msgid":"<42ec9559-3445-4712-bfd4-1319b4d4ce2d@intel.com>","list_archive_url":null,"date":"2026-05-08T09:36:01","subject":"Re: [PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on\n oversized MMIO access","submitter":{"id":70117,"url":"http://patchwork.ozlabs.org/api/people/70117/","name":"Yi Liu","email":"yi.l.liu@intel.com"},"content":"On 5/6/26 11:19, Junjie Cao wrote:\n> An 8-byte guest access to a 32-bit-only VT-d register hit\n> assert(size == 4) and aborted QEMU.  Remove all 25 asserts.\n> \n> 21 sit at non-8-byte-aligned offsets and are rejected by\n> memory_region_access_valid() before reaching the handler -- dead\n> code, simply deleted.\n> \n> The remaining 4 guard 8-byte-aligned 32-bit registers reachable\n> by a well-formed 8-byte access (FECTL 0x38, IECTL 0xa0, IEADDR\n> 0xa8, PECTL 0xe0). \n\ncould you share how you identify the 4 registers among all the\nregisters. The offset of such registers are multiple of 8? is it? Just\ncurious why only 4 registers.\n\n> Writes fall through to vtd_set_long(), which\n> takes uint32_t and implicitly truncates, and log a guest error.\n> Reads fall through to the default vtd_get_quad() -- equivalent\n> to two 4-byte reads and therefore harmless, no warn needed.\n> min_access_size stays 4, so all size-based branches on 64-bit\n> register pairs are preserved.\n> \n> Found by generic-fuzz (24 distinct crash seeds, all fixed).\n> \n> Suggested-by: Zhenzhong Duan <zhenzhong.duan@intel.com>\n> Signed-off-by: Junjie Cao <junjie.cao@intel.com>\n> ---\n>   hw/i386/intel_iommu.c | 41 ++++++++++++++++-------------------------\n>   1 file changed, 16 insertions(+), 25 deletions(-)\n> \n> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c\n> index f395fa248c..0fb89332f9 100644\n> --- a/hw/i386/intel_iommu.c\n> +++ b/hw/i386/intel_iommu.c\n> @@ -3713,7 +3713,6 @@ static uint64_t vtd_mem_read(void *opaque, hwaddr addr, unsigned size)\n>           break;\n>   \n>       case DMAR_RTADDR_REG_HI:\n> -        assert(size == 4);\n>           val = vtd_get_quad_raw(s, DMAR_RTADDR_REG) >> 32;\n>           break;\n>   \n> @@ -3728,12 +3727,10 @@ static uint64_t vtd_mem_read(void *opaque, hwaddr addr, unsigned size)\n>           break;\n>   \n>       case DMAR_IQA_REG_HI:\n> -        assert(size == 4);\n>           val = s->iq >> 32;\n>           break;\n>   \n>       case DMAR_PEUADDR_REG:\n> -        assert(size == 4);\n>           val = vtd_get_long_raw(s, DMAR_PEUADDR_REG);\n>           break;\n>   \n> @@ -3779,7 +3776,6 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_CCMD_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_ccmd_write(s);\n>           break;\n> @@ -3795,13 +3791,11 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_IOTLB_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_iotlb_write(s);\n>           break;\n>   \n>       case DMAR_PEUADDR_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3815,27 +3809,27 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_IVA_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       /* Fault Status Register, 32-bit */\n>       case DMAR_FSTS_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_fsts_write(s);\n>           break;\n>   \n>       /* Fault Event Control Register, 32-bit */\n>       case DMAR_FECTL_REG:\n> -        assert(size == 4);\n> +        if (size != 4) {\n> +            error_report_once(\"%s: invalid %u-byte access to 32-bit reg \"\n> +                              \"addr=0x%\" PRIx64, __func__, size, addr);\n> +        }\n\nSince such writes are harmless, I don't think it is really helpful to\nhave this error log. Instead, we should have a comment here to avoid\nsomebody break it in future.\n\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_fectl_write(s);\n>           break;\n>   \n>       /* Fault Event Data Register, 32-bit */\n>       case DMAR_FEDATA_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3854,13 +3848,11 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>   \n>       /* Fault Event Upper Address Register, 32-bit */\n>       case DMAR_FEUADDR_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       /* Protected Memory Enable Register, 32-bit */\n>       case DMAR_PMEN_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3874,7 +3866,6 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_RTADDR_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3889,7 +3880,6 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_IQT_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           /* 19:63 of IQT_REG is RsvdZ, do nothing here */\n>           break;\n> @@ -3905,39 +3895,41 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_IQA_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       /* Invalidation Completion Status Register, 32-bit */\n>       case DMAR_ICS_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_ics_write(s);\n>           break;\n>   \n>       /* Invalidation Event Control Register, 32-bit */\n>       case DMAR_IECTL_REG:\n> -        assert(size == 4);\n> +        if (size != 4) {\n> +            error_report_once(\"%s: invalid %u-byte access to 32-bit reg \"\n> +                              \"addr=0x%\" PRIx64, __func__, size, addr);\n> +        }\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_iectl_write(s);\n>           break;\n>   \n>       /* Invalidation Event Data Register, 32-bit */\n>       case DMAR_IEDATA_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       /* Invalidation Event Address Register, 32-bit */\n>       case DMAR_IEADDR_REG:\n> -        assert(size == 4);\n> +        if (size != 4) {\n> +            error_report_once(\"%s: invalid %u-byte access to 32-bit reg \"\n> +                              \"addr=0x%\" PRIx64, __func__, size, addr);\n> +        }\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       /* Invalidation Event Upper Address Register, 32-bit */\n>       case DMAR_IEUADDR_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3951,7 +3943,6 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_FRCD_REG_0_1:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n> @@ -3966,7 +3957,6 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_FRCD_REG_0_3:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           /* May clear bit 127 (Fault), update PPF */\n>           vtd_update_fsts_ppf(s);\n> @@ -3981,18 +3971,19 @@ static void vtd_mem_write(void *opaque, hwaddr addr,\n>           break;\n>   \n>       case DMAR_IRTA_REG_HI:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           break;\n>   \n>       case DMAR_PRS_REG:\n> -        assert(size == 4);\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_prs_write(s);\n>           break;\n>   \n>       case DMAR_PECTL_REG:\n> -        assert(size == 4);\n> +        if (size != 4) {\n> +            error_report_once(\"%s: invalid %u-byte access to 32-bit reg \"\n> +                              \"addr=0x%\" PRIx64, __func__, size, addr);\n> +        }\n>           vtd_set_long(s, addr, val);\n>           vtd_handle_pectl_write(s);\n>           break;","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=nBIEI8d/;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBkMJ5qFdz1yKm\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 19:28:44 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wLHVU-0006Vx-4o; Fri, 08 May 2026 05:28:28 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <yi.l.liu@intel.com>)\n id 1wLHVS-0006Vd-Iz\n for qemu-devel@nongnu.org; Fri, 08 May 2026 05:28:26 -0400","from mgamail.intel.com ([192.198.163.17])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <yi.l.liu@intel.com>)\n id 1wLHVQ-0000yX-JY\n for qemu-devel@nongnu.org; Fri, 08 May 2026 05:28:26 -0400","from orviesa001.jf.intel.com ([10.64.159.141])\n by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 08 May 2026 02:28:22 -0700","from fmsmsx903.amr.corp.intel.com ([10.18.126.92])\n by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 08 May 2026 02:28:23 -0700","from FMSMSX903.amr.corp.intel.com (10.18.126.92) by\n fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Fri, 8 May 2026 02:28:21 -0700","from fmsedg903.ED.cps.intel.com (10.1.192.145) by\n FMSMSX903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Fri, 8 May 2026 02:28:21 -0700","from CH5PR02CU005.outbound.protection.outlook.com (40.107.200.48) by\n edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Fri, 8 May 2026 02:28:19 -0700","from SA1PR11MB8492.namprd11.prod.outlook.com (2603:10b6:806:3a3::7)\n by PH7PR11MB6700.namprd11.prod.outlook.com (2603:10b6:510:1ae::16)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.17; Fri, 8 May\n 2026 09:28:17 +0000","from SA1PR11MB8492.namprd11.prod.outlook.com\n ([fe80::cedf:12a3:5d80:af1c]) by SA1PR11MB8492.namprd11.prod.outlook.com\n ([fe80::cedf:12a3:5d80:af1c%4]) with mapi id 15.20.9891.016; Fri, 8 May 2026\n 09:28:17 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1778232504; x=1809768504;\n h=message-id:date:subject:to:cc:references:from:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=FLKpIT0uq6cQUyXhgm/9XkARVnpxJjNgzbL4lsxfAFU=;\n b=nBIEI8d/RJdYJDSpgi8+/wlEecLzx3hv94zQ878eg4ATCRL3ss5yLuvF\n AC3VQgT3seaOd3zLwjWLPR8gAadx/VWVwa2YkVkXVfKuR6fignXb9jy7d\n vlBzOq6r3fm5JGqI28BgllInxVjEfBVVoiwLeOKy4SV/MdgXvUvgjSFoz\n zDHwSckvBAFk92eQ8asQBKcYVXRO7y/VmEi0vNWvGVanwOxjnN5SbBS2K\n qEYsdudbKz6NiJnFkZKs8y5SwTOvDITRRp3y4NTQKHRvaf9PPf+5gLrIT\n ZzhXnSf5gVfrUca7x06+hoq1x//6SeBgLRFc5Fzcx01TC0cmm/uZHT3ZQ Q==;","X-CSE-ConnectionGUID":["/PaP1DLUS2mwgYL3xe1raw==","94I1rLBqTA6EzCku6aygaQ=="],"X-CSE-MsgGUID":["UkY1gHFdS1qvsrs8fVkFwA==","AbA5pnMwSIONqQ7dB5PHcQ=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11779\"; a=\"79051807\"","E=Sophos;i=\"6.23,223,1770624000\"; d=\"scan'208\";a=\"79051807\"","E=Sophos;i=\"6.23,223,1770624000\"; d=\"scan'208\";a=\"274837818\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=FbVV1Kp8HC9fNcZI5uQTEA/pDi19evtTENoi0Kh/mQuRNNGgC7i9CXpdsbqVlPv4U0vYF4mbW1/qK5+R/w4xa/C6ZMDaDRoe28wPvZ0OmjjKdqti9PMaOWeDx/XShLdWP2DiFomzF10fC0lBYZgyEfGBdpF4+vI4Y33ClPvS1wkiLSg3E8qkf7kKDxK9HmmgvIYUgOeDPBHCquRRiBE8TvYMctJR6lOnu9h7Ce01dEjQ+17flUc9i+01/vCIEYb/xaEEkIUC+pmZM9AFfi+ElSRVXjKDKC3xgaSsbCImty5FlpepA8UhYYbo7Zalfp2qugfrJ9I1oy3s4irGeiuL2Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=TBRip6KSXCMtlCP2ScPuaZt8MxnA9gkscwUjdbmvpAI=;\n b=NO3n3ftiQvoicZtsxo9zzPtqkv8w+R1JoK6wKI0DBCwQoF+sqn37jCFVyD5yO4xWZv/W6TuNRiuE+c95HiIMtc8BihcF/1fqe0Jpg/7cfUtrqOKjL+/k01L8sdYQujn6OFtCOq16OhJXYF5FvGr9zj4r0gL0/AFLXU23gLni32Fe3J8BKEb5ceUh+uYQf9fZsmq8/atRG37IalE4X9DId8aNdt5bZzPE8Ofxb00YvqORpukCIqRzDJjmnQmuSrIlvWwz8yn7OcdL7Ug0A5rLSGqlaKg7BGaTu5qTlT18DD5wJqgBjCeW8e+6IN1QzahZUs4GZ08oSbd0i7b0ns+sCw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","Message-ID":"<42ec9559-3445-4712-bfd4-1319b4d4ce2d@intel.com>","Date":"Fri, 8 May 2026 17:36:01 +0800","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on\n oversized MMIO access","To":"Junjie Cao <junjie.cao@intel.com>, <qemu-devel@nongnu.org>","CC":"<zhenzhong.duan@intel.com>, <philmd@linaro.org>, <mst@redhat.com>,\n <jasowang@redhat.com>, <clement.mathieu--drif@bull.com>,\n <marcel.apfelbaum@gmail.com>, <pbonzini@redhat.com>,\n <richard.henderson@linaro.org>, <farosas@suse.de>, <lvivier@redhat.com>","References":"\n <DS4PPF93A1BBECDC498B677FE8B259BCEAD92352@DS4PPF93A1BBECD.namprd11.prod.outlook.com>\n <20260506031942.251335-2-junjie.cao@intel.com>","Content-Language":"en-US","From":"Yi Liu <yi.l.liu@intel.com>","In-Reply-To":"<20260506031942.251335-2-junjie.cao@intel.com>","Content-Type":"text/plain; charset=\"UTF-8\"; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"TPYP295CA0009.TWNP295.PROD.OUTLOOK.COM (2603:1096:7d0:9::8)\n To SA1PR11MB8492.namprd11.prod.outlook.com\n (2603:10b6:806:3a3::7)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"SA1PR11MB8492:EE_|PH7PR11MB6700:EE_","X-MS-Office365-Filtering-Correlation-Id":"1f779d9f-6c30-452a-cbc8-08deace422ea","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|7416014|376014|1800799024|366016|42112799006|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n qdZj5RYCgZ+8RckT+u15iV/VKoQBW4lYkviAaorlyYyP2wkGtZ6z+hs894pqxAPRs3dSRCYqx+5Pq6ESTsFe7gJghEw561F0tMitzLJbVLXID7kUZ0yqdYzP/bmH7Fn7fso/DbOOoGOhjGKcnj3VtJEhrA+GNpXINOn5Y0GIaI7e3DHfOtPlNiox3a1c1BhmEpVTiZcGItajE4Fl3Bo0hFUMzKb84K3LBsZcmlTGN7lLugFpzhurgpEPtYN5xpyK7CN4YeO1TQ/P2Ia0ZZqemR1zcJ+d1pEhpQxJMAEZiqZGUHQrHat5z5EImGt5KcACd4BsS+Wdf0L7ZwDuGHVW6kc7f9mXx2oSr+pxx33c1HJdfA0qdyu4d4E/nftGZODih4freOHdfiyyH96VqdRpbhw8LY+cjhesFtMIVyfFGlOw7qeRRnrT0fiizZcyqsDy6dQvwR6f4b/jhpZawpGhp4THz/+/Nz0Kmkwwcx5MQPXTrnXAADREOhzb8BxqEDDnZWeP3SdX1zBokDBKbYQR1qy3wKQpmKuy/8OPAowt7L76iIxfDQKS7SvjrAzzFxQ6gWPhue8VSlfdIgPB8Muz9ehB6cbgG9epB5Po/7R4Ml9XCFgBt9UPlL0xWRAX2GOVAlwmCc4UVloMTGQ/A8o0tWnrg6Aq6ziARU/RlX6LN3fSRBiAZAGKwUXloI88cTkc","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:SA1PR11MB8492.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(7416014)(376014)(1800799024)(366016)(42112799006)(56012099003)(22082099003)(18002099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?C4LTuaFacIpLWzbSR2s7ZtgK0f/X?=\n\t=?utf-8?q?xpeNpAqPdFbSuIbjx+la3q0KrA3JSGZVNX6IY18+s6z9KDRP0Dr1ln3IfXX4xO+5n?=\n\t=?utf-8?q?7dTr0ljMFGJC5peCZxrxUL2+TRJT2PvBk4bYptEBJAMtgPIFEhim07OlsnLAQfbUX?=\n\t=?utf-8?q?hxx5tAPkCGA9zIvgKHSvI/UaqT+NpLl73PTr3ZRuX3LtovMAUbOX7EcW6kqOEJJmW?=\n\t=?utf-8?q?SfAjkd0Yma5KTJL4H8AjA7lPjjxBHPMN8DzyUSOqLq8IYOdIICC5xReZ5zqRuMl6k?=\n\t=?utf-8?q?GOG7+hjKbd7G7VZ/97vsaHnRrAQPIsF3vEW76Va2tbIBYOvHQRUzEecrwZdc39DEV?=\n\t=?utf-8?q?8pzyxmH65+CHOPipdq6PSEYMxUWQ60mA2SeKgvnm4aVPs4owmAa/Zi8ka9l5czApO?=\n\t=?utf-8?q?hgjMSbPXeFDjIXNr8qKXP3Ii4Cu9aK7iTOiEWqA0N+taqdPvdGuYUiMrxD8aFRYxk?=\n\t=?utf-8?q?XSAcPHzdcKiWnbGNMItEPtHTq27/AkrdIiP+5dIhMuxy63lYYDNl1Dy+j12YoS0bg?=\n\t=?utf-8?q?DfK6AWuaUjlQIhXkNTe5rCLJpzlep6sstP8mGEUuLh07ukGuET2IU4Gcm2KmtFdST?=\n\t=?utf-8?q?KFhD+m1nZoFyN9pqRlYIgQ9nGP5gLaCmbb76z3Cif4zG60ts7pfQMZp7pabfUn3W2?=\n\t=?utf-8?q?75FjtemMqRLVE8Xi2SlZHMLSmkmrUlPbXGvlnc9+YBh1WTWkEfg7InhUGyphoDQge?=\n\t=?utf-8?q?0y5r9xTizWXXt38alaxnsbkWAJa0zsMZyq8WACJlSaI2RW7PVc5uexU+XHQIO6f4z?=\n\t=?utf-8?q?wJXXIL5855cNNVL6b5KgrOLjk3D8ICHM6Pa/h+tUNyxRPVWSa3pOrlqjxFyBR8Y8i?=\n\t=?utf-8?q?AgaX9UjXjI3Tbt0YN7fr0NP4lM8yvo3jYmCfBAHK+z7Mc8ZCaHSjqj0hM7H8T5449?=\n\t=?utf-8?q?x7iPSa0TEju5oHoZarvIyi+zrnSety5Yr8oZcJHD6L2cjcR5G/5OSBInmTsPCPnmk?=\n\t=?utf-8?q?4aHfbs0iqiRq/DWsxavL/tPXe0w0/c/oP/kdsJaDlkM8ObrycOynjytbNFwsEKD3R?=\n\t=?utf-8?q?Y+hE8zu1Yp1yzbUbeTneNcdZ8rIRG0Pzt7K2iBLWrJJbepEdrwKzUZ/9M/ZlZiauR?=\n\t=?utf-8?q?ajcC3iBFcOivGM679D7baaDeCRtNwoo6tbfMpDY0irtzLfVBH1MWmFNOIkNIZv/Ag?=\n\t=?utf-8?q?6+mVUmGmsiPTdY/Do+hy835GVvvxms0/TTPJOY70qWIVn79oM6A/AxADKbmTJ7j3T?=\n\t=?utf-8?q?rrAAuie5GLgO5e5VCFipCc6v84+z/M/0yCRQJJt47Xy55t8KWLWIZHaaau1oDtzqO?=\n\t=?utf-8?q?+FEyXyTAhACkSCSrEJDnu26vOQgmCxEpTnW1ylIcLLeoc/XhKkwgnYFrKsiJkrHl7?=\n\t=?utf-8?q?yqO9D18LpTVouRSrGRXyC5soL6D2ERhboDUgvje/0qxO8mV1YAbwzWaTS4JGo/8Ua?=\n\t=?utf-8?q?UcGx5mRpTB76fT+2j32UEZuSv5thszkIxMnCiuEVtxmvYtZkeSOQBDTId4bvhYVxH?=\n\t=?utf-8?q?gitBJqhfKuJaggokloSC749z40yVnbUN8EbZIcXuI+17KwjMY/NY42btPunWOdOi/?=\n\t=?utf-8?q?Fz/+pPAh2t+H6RF6ZJAS7vHw5hIMaj/KuVGuNhFjuJHDZwl5sQR+w+CEf1M15t9OK?=\n\t=?utf-8?q?yLWODhKJQ0LYmSmus1tWtWIIoFaQXHaXZhyUF69QC80coTSuXGfWlNJ9Wd4+b8kM6?=\n\t=?utf-8?q?p7/BPT/j4gqowLcrfAAsZoQbmL8kFN+g=3D=3D?=","X-Exchange-RoutingPolicyChecked":"\n oTc0sHXv8H7f4jcLP01As/d1BoCQR7CGLRHbsLiyyJoJV0Tf7Ijh5o9xoZRg3jsMdLlfhlBMJc8G68I3u1bKLh4J9twmt37oIWHmM90A7yB7qXmqhJFk8DtmsQPG1Xuo21vRym7fPFsavAwzbUkZusVK3k6DkI+1zuRsgILbdcdt8waBMej60ryWvSnyJYnh11MXn39X/GKUbOfEH+1bmi3822cM0RjqOshQ1tbkCZw2BW9KHUJPNiYWk2ImBZi1nUjOJDamJwE+F34F3XvBAN5JEsxKu5I1eDHaAa91KbhscxN3NQEkLa+2N+C7gG03y5iyHRjrAKkP38UvjA+gVg==","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 1f779d9f-6c30-452a-cbc8-08deace422ea","X-MS-Exchange-CrossTenant-AuthSource":"SA1PR11MB8492.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"08 May 2026 09:28:17.4305 (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n W9SKEmhcXML6R+DS9NXv7E2z6hq4/mD5V3x7DPGd/lyYoRUVS1K8npNt0bLs+u1SqXEhd5ysLzxWY5O2ypqrig==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"PH7PR11MB6700","X-OriginatorOrg":"intel.com","Received-SPF":"pass client-ip=192.198.163.17; envelope-from=yi.l.liu@intel.com;\n helo=mgamail.intel.com","X-Spam_score_int":"-47","X-Spam_score":"-4.8","X-Spam_bar":"----","X-Spam_report":"(-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.438,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001,\n SPF_NONE=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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3689035,"web_url":"http://patchwork.ozlabs.org/comment/3689035/","msgid":"<IA3PR11MB913608B2CB25D851EE72D35492382@IA3PR11MB9136.namprd11.prod.outlook.com>","list_archive_url":null,"date":"2026-05-11T05:41:52","subject":"RE: [PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on\n oversized MMIO access","submitter":{"id":81636,"url":"http://patchwork.ozlabs.org/api/people/81636/","name":"Zhenzhong Duan","email":"zhenzhong.duan@intel.com"},"content":">-----Original Message-----\n>From: Liu, Yi L <yi.l.liu@intel.com>\n>Subject: Re: [PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on oversized\n>MMIO access\n>\n>On 5/6/26 11:19, Junjie Cao wrote:\n>> An 8-byte guest access to a 32-bit-only VT-d register hit\n>> assert(size == 4) and aborted QEMU.  Remove all 25 asserts.\n>>\n>> 21 sit at non-8-byte-aligned offsets and are rejected by\n>> memory_region_access_valid() before reaching the handler -- dead\n>> code, simply deleted.\n>>\n>> The remaining 4 guard 8-byte-aligned 32-bit registers reachable\n>> by a well-formed 8-byte access (FECTL 0x38, IECTL 0xa0, IEADDR\n>> 0xa8, PECTL 0xe0).\n>\n>could you share how you identify the 4 registers among all the\n>registers. The offset of such registers are multiple of 8? is it? Just\n>curious why only 4 registers.\n>\n>> Writes fall through to vtd_set_long(), which\n>> takes uint32_t and implicitly truncates, and log a guest error.\n>> Reads fall through to the default vtd_get_quad() -- equivalent\n>> to two 4-byte reads and therefore harmless, no warn needed.\n>> min_access_size stays 4, so all size-based branches on 64-bit\n>> register pairs are preserved.\n>>\n>> Found by generic-fuzz (24 distinct crash seeds, all fixed).\n>>\n>> Suggested-by: Zhenzhong Duan <zhenzhong.duan@intel.com>\n>> Signed-off-by: Junjie Cao <junjie.cao@intel.com>\n>> ---\n>>   hw/i386/intel_iommu.c | 41 ++++++++++++++++-------------------------\n>>   1 file changed, 16 insertions(+), 25 deletions(-)\n>>\n>> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c\n>> index f395fa248c..0fb89332f9 100644\n>> --- a/hw/i386/intel_iommu.c\n>> +++ b/hw/i386/intel_iommu.c\n>> @@ -3713,7 +3713,6 @@ static uint64_t vtd_mem_read(void *opaque, hwaddr\n>addr, unsigned size)\n>>           break;\n>>\n>>       case DMAR_RTADDR_REG_HI:\n>> -        assert(size == 4);\n>>           val = vtd_get_quad_raw(s, DMAR_RTADDR_REG) >> 32;\n>>           break;\n>>\n>> @@ -3728,12 +3727,10 @@ static uint64_t vtd_mem_read(void *opaque,\n>hwaddr addr, unsigned size)\n>>           break;\n>>\n>>       case DMAR_IQA_REG_HI:\n>> -        assert(size == 4);\n>>           val = s->iq >> 32;\n>>           break;\n>>\n>>       case DMAR_PEUADDR_REG:\n>> -        assert(size == 4);\n>>           val = vtd_get_long_raw(s, DMAR_PEUADDR_REG);\n>>           break;\n>>\n>> @@ -3779,7 +3776,6 @@ static void vtd_mem_write(void *opaque, hwaddr\n>addr,\n>>           break;\n>>\n>>       case DMAR_CCMD_REG_HI:\n>> -        assert(size == 4);\n>>           vtd_set_long(s, addr, val);\n>>           vtd_handle_ccmd_write(s);\n>>           break;\n>> @@ -3795,13 +3791,11 @@ static void vtd_mem_write(void *opaque, hwaddr\n>addr,\n>>           break;\n>>\n>>       case DMAR_IOTLB_REG_HI:\n>> -        assert(size == 4);\n>>           vtd_set_long(s, addr, val);\n>>           vtd_handle_iotlb_write(s);\n>>           break;\n>>\n>>       case DMAR_PEUADDR_REG:\n>> -        assert(size == 4);\n>>           vtd_set_long(s, addr, val);\n>>           break;\n>>\n>> @@ -3815,27 +3809,27 @@ static void vtd_mem_write(void *opaque, hwaddr\n>addr,\n>>           break;\n>>\n>>       case DMAR_IVA_REG_HI:\n>> -        assert(size == 4);\n>>           vtd_set_long(s, addr, val);\n>>           break;\n>>\n>>       /* Fault Status Register, 32-bit */\n>>       case DMAR_FSTS_REG:\n>> -        assert(size == 4);\n>>           vtd_set_long(s, addr, val);\n>>           vtd_handle_fsts_write(s);\n>>           break;\n>>\n>>       /* Fault Event Control Register, 32-bit */\n>>       case DMAR_FECTL_REG:\n>> -        assert(size == 4);\n>> +        if (size != 4) {\n>> +            error_report_once(\"%s: invalid %u-byte access to 32-bit reg \"\n>> +                              \"addr=0x%\" PRIx64, __func__, size, addr);\n>> +        }\n>\n>Since such writes are harmless, I don't think it is really helpful to\n>have this error log. Instead, we should have a comment here to avoid\n>somebody break it in future.\n\nMaybe to take it as guest error and log it:\n\nqemu_log_mask(LOG_GUEST_ERROR,...),\n\nthen people could catch it and fix guest code?\n\nThanks\nZhenzhong","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=KzCpFfKU;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gDTCP4XPGz1yDx\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 11 May 2026 15:42:55 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wMJPB-0005S6-Ig; Mon, 11 May 2026 01:42:13 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <zhenzhong.duan@intel.com>)\n id 1wMJP7-0005Rk-So\n for qemu-devel@nongnu.org; Mon, 11 May 2026 01:42:09 -0400","from mgamail.intel.com ([192.198.163.7])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <zhenzhong.duan@intel.com>)\n id 1wMJP4-0000uZ-PX\n for qemu-devel@nongnu.org; Mon, 11 May 2026 01:42:08 -0400","from orviesa001.jf.intel.com ([10.64.159.141])\n by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 10 May 2026 22:42:01 -0700","from fmsmsx901.amr.corp.intel.com ([10.18.126.90])\n by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 10 May 2026 22:42:01 -0700","from FMSMSX902.amr.corp.intel.com (10.18.126.91) by\n fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Sun, 10 May 2026 22:42:00 -0700","from fmsedg901.ED.cps.intel.com (10.1.192.143) by\n FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Sun, 10 May 2026 22:42:00 -0700","from PH8PR06CU001.outbound.protection.outlook.com (40.107.209.33) by\n edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Sun, 10 May 2026 22:42:00 -0700","from IA3PR11MB9136.namprd11.prod.outlook.com (2603:10b6:208:574::12)\n by CY8PR11MB7947.namprd11.prod.outlook.com (2603:10b6:930:7a::11)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Mon, 11 May\n 2026 05:41:52 +0000","from IA3PR11MB9136.namprd11.prod.outlook.com\n ([fe80::37b4:37a9:4f3:518b]) by IA3PR11MB9136.namprd11.prod.outlook.com\n ([fe80::37b4:37a9:4f3:518b%5]) with mapi id 15.20.9891.021; Mon, 11 May 2026\n 05:41:52 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1778478126; x=1810014126;\n h=from:to:cc:subject:date:message-id:references:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=WnNdXWTpNqASkkM4xGrG6rNE8wTKXM3j2WREvtB+gng=;\n b=KzCpFfKUTB/TNr3wDrl24ahfLkrGdjc9FxVmRURpEcR+tVYjrehlGDrv\n VBHtJNW+xuPRHTT6sCwSeXoy+FLXGhvKJa23jsGxy9UQW9CVniWzZIY1x\n DEbuy1AGwBArQewUTjUMvVqp+ht8hYR01pZJQcM00zCn0uPlsG0IX4rQS\n 5XX/KJxl+uKAe5TAFJXBtcpKz3KE5dAamuOEwKCTozu7UNKUA4uihdphz\n DYqF2m+7A8Ht+EUyDbfyDeH3UjpE63ACvGe4EexYGlwyPXdsD9gU3J8SS\n rXYZeiftk7W7dUfAvzmsJV7b7qa+jG5sNaCjca3zjj/MGKzgs06AQGzO5 w==;","X-CSE-ConnectionGUID":["xgXEzcEhRgeqNQrRdJrsFA==","AxFgUUBUTXm6NM/1aL5yog=="],"X-CSE-MsgGUID":["hTVVMgArRbyemmUqUm0SCg==","vJsM2VdlRVGIVEVKdM39fA=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11782\"; a=\"104817357\"","E=Sophos;i=\"6.23,228,1770624000\"; d=\"scan'208\";a=\"104817357\"","E=Sophos;i=\"6.23,228,1770624000\"; d=\"scan'208\";a=\"275491589\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Omdo1JbXgtt1o7T6vT2erjN2CurCmgnDzTlMR3Ei/CRlVf6qBFmMXN6PXJahzGouraZEaIYKR2wbyRSxD0g+J5iCdVHcnOfaXXtDp6qumuRRCGfgIiprRTe4kNHJD0kQzY+Pvivo/eDe62pdQB1r7+X1b5iM8uLzohftJlvttNKeG/7RPblCdwc4NN5JgvaB/XOoEjkactUMP+5lPGRfe5aem05mi1zyBT4/rXNoNUmfKWSC831rFfbW273M1cbFNMHZSkJ41A3CQexeDTs/Im9F52GzSw0SwiMOnQkAZ7ZOrbJ6w2IKt0RhJk5/O4JvSAFP7TCoS0eQ0ic9iM1YSw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=WnNdXWTpNqASkkM4xGrG6rNE8wTKXM3j2WREvtB+gng=;\n b=lc1kFeWRztYr10WIXqKUJg32r1NGqws3rfG3Qyg1zWsG5uzuOn9idSKlDZEbMM1tPf2NMvtL3mM+bcx7JQPibw6DeHBMhHxwLq7A6QFTezUHqPXMuy7ACqLnNc3aktvQxAdUFeLxJMA132vkZolteVRoubu+ylGvfC+RxFamxAcKnLRcdBh60PhNdHeHWhvAXnxLpcPape/UOazQ8WLrw8apF8g2kTVgnK1oTEItNb/OAxWJsX5QUoRcEx1o5v8i5nhd/nj559JlwaBe2RLeuS2TrXNCGOT7f0CY5ch8iYo+QPoeJuc5xozHE0Xsmhq4WPz/C4M79TlaaexrxKmH8w==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","From":"\"Duan, Zhenzhong\" <zhenzhong.duan@intel.com>","To":"\"Liu, Yi L\" <yi.l.liu@intel.com>, \"Cao, Junjie\" <junjie.cao@intel.com>,\n \"qemu-devel@nongnu.org\" <qemu-devel@nongnu.org>","CC":"\"philmd@linaro.org\" <philmd@linaro.org>, \"mst@redhat.com\"\n <mst@redhat.com>, \"jasowang@redhat.com\" <jasowang@redhat.com>,\n \"clement.mathieu--drif@bull.com\" <clement.mathieu--drif@bull.com>,\n \"marcel.apfelbaum@gmail.com\" <marcel.apfelbaum@gmail.com>,\n \"pbonzini@redhat.com\" <pbonzini@redhat.com>, \"richard.henderson@linaro.org\"\n <richard.henderson@linaro.org>, \"farosas@suse.de\" <farosas@suse.de>,\n \"lvivier@redhat.com\" <lvivier@redhat.com>","Subject":"RE: [PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on\n oversized MMIO access","Thread-Topic":"[PATCH v3 1/2] intel_iommu: fix guest-triggerable abort on\n oversized MMIO access","Thread-Index":"AQHc3QdP2qwF5H9qbEGpGeC7hoCu1bYD4huAgAR0BnA=","Date":"Mon, 11 May 2026 05:41:52 +0000","Message-ID":"\n <IA3PR11MB913608B2CB25D851EE72D35492382@IA3PR11MB9136.namprd11.prod.outlook.com>","References":"\n <DS4PPF93A1BBECDC498B677FE8B259BCEAD92352@DS4PPF93A1BBECD.namprd11.prod.outlook.com>\n <20260506031942.251335-2-junjie.cao@intel.com>\n <42ec9559-3445-4712-bfd4-1319b4d4ce2d@intel.com>","In-Reply-To":"<42ec9559-3445-4712-bfd4-1319b4d4ce2d@intel.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=KzCpFfKU;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"IA3PR11MB9136:EE_|CY8PR11MB7947:EE_","x-ms-office365-filtering-correlation-id":"4fcd9f70-8547-479e-5ba6-08deaf200136","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|7416014|376014|1800799024|38070700021|22082099003|56012099003|18002099003;","x-microsoft-antispam-message-info":"\n H/oa4UEz/v8itFzVRKNMglQH1R/VC0VsRlfK3Pmo+17rxX0CmNg2NlGdIbNYP1vJH22G/7J3QNXvZkporoMDrtz6hRhVXMibnJc4cOiebrm/wwhYrHXBgY8BkS0484ZSQUlM6YnxdBgIozTB2YZYpyZgc7d6km6IlyElzY8savzPKFvr6ekMjVpKorrK3c4WE03wSnwC79ZDMCUnDxqMw54AKFh4aKXxVTPy6d7qT1/sFc9+6EErK3Wr5ToI+Jr9gJ6MlqliEIrDchWHWnXJv+AZpLkqBSkGe1yLvAWczZ0WpAgXFiwXZrQ3/6iqvwoFeCnQ+kjXA3/jopJzkWxlPJ9KAqoKC8LUkaLjzslRJ4Tp6RoLbnKeoB6DAkGbwetwXYX6Oy4TAyY4V5waln1ey9Wt3CqvsWl/pdUokEgWznKFShFoHze5pFXKUAUutz/tWJUw0k0QZA52g3w7O0rquIawYb6IiVDY11UTkkRMEN3QFubPYxefsijlVlrFyuJkQTiBCJ2urKo4kNh+9xPSAmxvQq9CB+WABlk1U14SG26luUgeh3yB2HwHxfgkuAmLqpaQhAbiYeY0re4WPuvFhoscXoqZPOze6Q5LAREPggh5u1+E4iDPOWXcrl+cLORL1pOwwPcMRcb2I8vR8rRfZEGWT8x+AtAQUkn9AvgxUJhY+8pGOjdhZcR14YxCv4km/HnvQ/+6ViKkx3Trm27vLIVBe3/RucIvkPXT+37NnaymHq+93rn0Q/Zqxv1lIb21","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:IA3PR11MB9136.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(7416014)(376014)(1800799024)(38070700021)(22082099003)(56012099003)(18002099003);\n DIR:OUT; SFP:1101;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?8qLbH69UoNPUQwjWwfJSFXGvpWRx?=\n\t=?utf-8?q?GYi96meyn7uzTiQ8EwrF6pxAZ0ZDehRCpL6kGAkirYqp5oq9/eWMuXNQAY4NN4dR2?=\n\t=?utf-8?q?azSiAfDEiJ57h58orDQjZ3/YEU1+tKoaJLDnYVvAEcdKfCofG4MEN0KCZgmMU3nz4?=\n\t=?utf-8?q?HwcLzBALVQm7Hy/ZY7YfozHemotdv6eDGDsq26y9+HbPrRjA4rIGD0Z+C1lJrNCcB?=\n\t=?utf-8?q?r7wo3NkpNkK2jUtl3bAjpDvuMk+iUVdHwKjUvhTfu0hiNJAJm679adcWavId9JEBY?=\n\t=?utf-8?q?VI4yBjhrBgSuFs6nQ8BJbQ4d7LMivLd1rfZl4iiFsFdVKFxVM1NseZVIOI2DlRkJ0?=\n\t=?utf-8?q?Dh82JkAb1IDGt/GjOnkT+Nx93t969hnNdIRhsW0VQy/C7EiTa/3L+KBcjCCxncW0I?=\n\t=?utf-8?q?HNwNKuDePWp2iIxosnuSUWWXRdkHmzSdtdMhdaXJ1Nqs5jM9kUFvXWRADMtognpCZ?=\n\t=?utf-8?q?v9qdivnjaAm7AZnTw4dWL78f7romM27hmpVocRYjMce/VFV+J1Scdv0EM039r9lIS?=\n\t=?utf-8?q?zfjUuiFMyOsBleui6kUnrF1Lw8RiM9Z+/qSHWUGx6TMzNW78AzGs7uwUdwbKFsIbw?=\n\t=?utf-8?q?4OCWPjbAeU/HxYpFxwZpEGqnplw/r31n+kYKWNfBOOTHj9H6hfN6BorMmF7XMSYGu?=\n\t=?utf-8?q?TejoXk3oTOQoSH/GrRZXHcHAy2xpxA/turlfe/h1o0502+odS/4siwY7LqR+ChmLF?=\n\t=?utf-8?q?lyCLEz7CLHHJ6V/5bF6wBmzzPW9fb4a6enLa/PXJuMitZSwIU2x6X7rlQSPGmPubz?=\n\t=?utf-8?q?yLDVSQAp0uLEfFF2qnrIRHyOu78N9z+NQkyqr+3KslGsRFnadhNMPOPzY5SD56Sp5?=\n\t=?utf-8?q?Qfz+jvArREXsyrkObENtfMRNA584FTVKhH6KevuhD5w4TzHWGEqM/KHsGIkUDlDnW?=\n\t=?utf-8?q?rIsmF1ny36AC+DYya1egWxS5DTrOvxYVjTXmz22VUHBte6Iwlm1gVrBFwC3xhmx1P?=\n\t=?utf-8?q?YdU0z71HNMNMlgvorOA2b+RrjVmJaNzk/p2tQcvrAeC7KUhsrPhfkwNfMLh+oj0iq?=\n\t=?utf-8?q?j6u6CcINtDIjeue4eUaNT9Dq3zkUT1ydtha2nw4ZNhK4dpz4r75vk9JF9k7PQhMhB?=\n\t=?utf-8?q?LWcFZkDM2ZeMtZX1Sdl2t4gvgImI0auxEHNGJ+4VbRSrgCeH7vVhxMiRTmpvAgyw1?=\n\t=?utf-8?q?4jasCmuYF72p4kZJur0f1BB30iFgp/m4ORsUA1udb7ACH6Ee/Iv3zrsEmE2PHM9tF?=\n\t=?utf-8?q?yrx5MnDebMKDC3YzoLhSDL061X81SGH5do1velz4TnnRWRWWYkV+IJEFQ99imYpq/?=\n\t=?utf-8?q?+chrogkGbolmNEQ68yoTV4Kc7EFCnCBFF++ZDutyJcVPI+LHq3eCwNEY3XAhrVQsZ?=\n\t=?utf-8?q?/xV7Ti37UYyGXJ1wyivhDndD9E9cpwu+Yfyt8+Y8dKGuBnxOYNj+15duHeTjV7e8H?=\n\t=?utf-8?q?pPX2J9Zbtk8ZhdAxJ+Cpu8O0P5fP+HBp6fAkJDaGVULHg663scE1ugFSdJnUxxLFR?=\n\t=?utf-8?q?hayq2kbz6qQqG+k2oHXJP7GVmNMxR53LwBwyV4OTZbmvrNg03/jqgF87DhhlKGtKw?=\n\t=?utf-8?q?ePiHiv9j5zkMXN2DgoOq/VPieSSlVLJ7GORJwcZSVmzmzoaOZbZC4ba9RM2c1yPKB?=\n\t=?utf-8?q?sJC+oQlNpVETW4affYqC8hX5xhwdQ8x0woNG3AACjH+d0LEGYmTEhg+jYBJCkjmP+?=\n\t=?utf-8?q?zE0gbBPBolN8zpi0RLYGl8GqFb2lX9sA=3D=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n v22tfWdQyscMzaEorZ3RRmd8V4U0gAi97CYFBzrcnsiG+rXOmv7oW449YkUEuxdT+SW3n7lv76gfnvMOuukoFh9voT1ZNQgZLcQkUXkTYo0o/YN2qgETu2MeXBPs7vts4H700WCggLBrsHAY2OMQLiTZl2YYwMlDz6e7HZV9in9mQjDgV4tbwitZAA3//oVt7+35VPcH5uSsWlnhR1gRLRl2Bl64czSVDxIDUZHU+VacO7NXrCfvZ+npYCwR3iXvoc5DyvDvqDeQpF1fHw/hblWaVb3AAwYK+/K6KhND4KFLDGsICKN2BtaPHUOWA75BSNprmFsOaw5xVAs9FZFADQ==","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"IA3PR11MB9136.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 4fcd9f70-8547-479e-5ba6-08deaf200136","X-MS-Exchange-CrossTenant-originalarrivaltime":"11 May 2026 05:41:52.7004 (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n KG1K7htavCdJ578qWZkmzXRO4o9W0I1hENf84O6KiBjMEzNMjvhsyh43e5D9VkCt9m3PcIrnpt1dLUG1xi+GOWDs3QQ2J/BbPjymyvyYj6o=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CY8PR11MB7947","X-OriginatorOrg":"intel.com","Received-SPF":"pass client-ip=192.198.163.7;\n envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com","X-Spam_score_int":"-47","X-Spam_score":"-4.8","X-Spam_bar":"----","X-Spam_report":"(-4.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001,\n SPF_NONE=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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]