From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) (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 9368A3AE6E9 for ; Thu, 9 Jul 2026 21:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.11 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783631661; cv=fail; b=Oi3wLPpf5RSPLYD4HIz+25HAmZfFoXh2IWX9/0wAtQEXDX19D3XbfYHLZ4l/QM3OyR3HC0+97jFBz5njkVMj3jPRNtMNXj6YysZ5GtLDyCJy7ZGjSZdG1LZf3n5f6ZyyJ7S5xI4MJivXjJj1wjF9I7bgJ+T2r/373rhwiDluxE0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783631661; c=relaxed/simple; bh=uOETbbXpjcsGUYI1KOGxlfeg8Ye+PXKIzDeOXh1Gesc=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=UarAtXj8Xy1mTvR98mLbib5KtcAl3v9kSfuxWQYZnBUtRtVn6pc/tbctOI3ZhMYk1/SC+mKRATxcBu9HsNJCQQgsDhEHzW3aj2+VQEY/So7mXbRyZol7crY5rc3fie7efjnaFsjlwtGUHpG3DlbqsoFqNgG910IFZrYXhrp6xKY= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BTYUlH8J; arc=fail smtp.client-ip=192.198.163.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BTYUlH8J" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1783631660; x=1815167660; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=uOETbbXpjcsGUYI1KOGxlfeg8Ye+PXKIzDeOXh1Gesc=; b=BTYUlH8J+rPoSjVObTc57rU6GwRjYjKT4vx4Jndb5ofUpsmPpF/i6HXL PQ9n+nhSx+SxxHv4tmSs3zZmr2EbUHE4cJLURYFaA+hMYK8Cv3QndGIBt FeGKh/HDai3XRimIpjKNSCWVfHrpzh9/MdEoRXxVEuZgL+EvbGbBLRE53 9G7AbS3t9TSI92lvupudOKD5ccuhiVQ0sup0LhZQVgIAGEZrsav0/yItd Q48850glMWtDo8z+DoUzCc71ipn8pBACltvLz6vfGoXOU6P2IT3RKdwq1 C+XKkMKQTZKuwHBAusD6hfRtP4EHgqWceEHNRzyug2ZkFTffBmTzSc7FG A==; X-CSE-ConnectionGUID: fnIjVOkPTniYyi7tXyEU+A== X-CSE-MsgGUID: wQPGbseVRqiqxii6DeiXHw== X-IronPort-AV: E=McAfee;i="6800,10657,11841"; a="94934644" X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="94934644" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jul 2026 14:14:20 -0700 X-CSE-ConnectionGUID: 7WLwKNxyQEC8e2UqEkQfNw== X-CSE-MsgGUID: oFT74zncQt+FeiJKjMS6+w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,154,1779174000"; d="scan'208";a="250698125" Received: from fmsmsx903.amr.corp.intel.com ([10.18.126.92]) by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jul 2026 14:14:20 -0700 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) by fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Thu, 9 Jul 2026 14:14:19 -0700 Received: from fmsedg902.ED.cps.intel.com (10.1.192.144) by FMSMSX901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43 via Frontend Transport; Thu, 9 Jul 2026 14:14:19 -0700 Received: from SJ2PR03CU001.outbound.protection.outlook.com (52.101.43.2) by edgegateway.intel.com (192.55.55.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Thu, 9 Jul 2026 14:14:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KWJYtlGkViOVH+1zwXRb3BjlWzlszfYgc2D9MxaMFXPpnGisLT7oUFRu3yWb4yi1AK62j+uKYZsmIRxIm+LAj4KUTezHOejnYPv8r5ZwVoA3xE62JfPAnfq6U9CCyUN6hB7veY23iKNX3D9wf2SbmDDWEwieUfQKgcvxqE/lDXlTCpH87CSRB2mXccgGlbDty6Q3uU5yFhd+3n9ipLmZsbPe3cE/D8CrgCofaUIFqCysGOCetDjjf8j1+UGvg+x4ZVzsv1AC3qVQtEngTRhDm1Kh9328QuTY6I7OvKb9ewa/+pRFv/1w676e7Fmm/NCGzH1YZitzd8n4o9J6FicFgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=wpdFdrLtOgBa5RJKRGIyiyKTZo827cRwyqb0GP0+vKg=; b=wrUI3uMLcAsR/USrAZSRfBoTGJXk9JpowWK6UYrGud+jyS6E47mHX8ibq/8Mp4q+B5OP9vpWKs//kLLffPDPFXVv7H0FqdunMgFrHcDyUiLTGakNP8/Au41d05Mjzo5eQwvrIHS4zldUQJmF7nxpl+W36UBQnOj98HwnG2ApRhM4MjvLMxWwtzVGVtg4PnrFtrI5pT2qeXBEgHgbGnAb0o6cZEkhbboaHUvNtcAwAKVz2zBUqBNuuqqnZcaRpt5DhzXVSmmjgrtpH09j3Ytrad9BfayZ1pEiCs731MaDdHUbNmNnJnwLoP+Z1rnyfOLjZI3qXR2T/VmP3SiI0gWA4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7925.namprd11.prod.outlook.com (2603:10b6:8:f8::18) by CHXPR11MB9652.namprd11.prod.outlook.com (2603:10b6:610:2fb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.19; Thu, 9 Jul 2026 21:14:17 +0000 Received: from DS0PR11MB7925.namprd11.prod.outlook.com ([fe80::60af:89a0:65dc:9c84]) by DS0PR11MB7925.namprd11.prod.outlook.com ([fe80::60af:89a0:65dc:9c84%3]) with mapi id 15.21.0181.009; Thu, 9 Jul 2026 21:14:17 +0000 Message-ID: Date: Thu, 9 Jul 2026 14:14:15 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 09/10] x86/fpu: Allow restoring signal frames with larger xstate_size To: Andrei Vagin CC: Thomas Gleixner , Ingo Molnar , Borislav Petkov , , , Dave Hansen , , "H. Peter Anvin" References: <20260615193716.1843340-1-avagin@google.com> <20260615193716.1843340-10-avagin@google.com> <358834b6-86da-4f7f-b2b8-cda31663682d@intel.com> Content-Language: en-US From: "Chang S. Bae" In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR03CA0178.namprd03.prod.outlook.com (2603:10b6:a03:338::33) To DS0PR11MB7925.namprd11.prod.outlook.com (2603:10b6:8:f8::18) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7925:EE_|CHXPR11MB9652:EE_ X-MS-Office365-Filtering-Correlation-Id: 42a4eade-2edc-40c7-5f12-08deddff08eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|366016|1800799024|376014|56012099006|5023799004|4143699003|11063799006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: zkYbWkiH9bKtUGc9HsvKIKcpCfwHpDi2r5FQejQLdkrCZPJVoEk4KvnDhFdd/V7ss1tHKbtjj5rlN7fm3lIAlJWWKlZxtY7FYoICzqtrrm6N/cbbFYMEcIXcj6bsQyLfQciFApMy6XaXerWMH11fgkyeGlMMLSv1e9arFV1icMEVUUp21fSlRUOxPcFsbAsjPge84yzKzVvOLWQm4/nfjiyxxwAa4VUho696eQBoPhrj5sYD0m/ufzKiFppiIrAwBPz++4EWwDElFLzf5Wvo3X/WyQbPN9Abc4HO5L7xKaYPgBOquGiexolMn03kIoPOUQyfkQHwzGZR7dkKVHEMxw9D3poMnHmtBDdXsdtaKDyDRY9EYHqiS5/qxLkT3Wrp1TpcwNOx1MwoEY4wehGsI9XndMgwqqyg6/0lWpNmlzANRuZTFytrQlQi6osfbVTYkjbiHZn7zbOqsg6yWjHJsxC3apRiEGUeqZ72g5qD8De/nvl1kVm6nj3JHBXR3igI3PAHKARO5QnMNyHVhi50y6QqHaizr+6LI7G5YkK1wSuV4VrU8b9jMeGfKXpSpgmZm1j3d2L8w1AoaV6tKppUShxyWyUP7+0d0vcpozOGCSbkSbZRmBsEYueC8mPw+h54BAkmIKiVx0v04LGDMwDhdhUPSd3nnZEC3lf1pJIrA+Q= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB7925.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(376014)(56012099006)(5023799004)(4143699003)(11063799006)(6133799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RUt2dks1TEI1RXF3VGRIakRZZVlhdXc1bmU3Q3BRUytXK1RmN1VGWFVHaUFk?= =?utf-8?B?Szl0dEdENzNoY3FWY1RNaTZLTXhhdXZTWWJnVGRoRWp0TUMvb3g2WFZONDFz?= =?utf-8?B?L1NwZWtvM0xLdVpMWFFaRm5zR25ZMWo1eU5hdXV2cCtkazM3RWVLaTZubmVm?= =?utf-8?B?TzcvTW44ZzA4MXp4eE9TM1diTlFmUjlMcWdPdE5yNzROdjVyWjZ5OGwwNEVU?= =?utf-8?B?TUZxdndtZkVEUDduZ3RXbWZmVzhvaFV2SUFnVlFQMnNaOVlEd3FKUTJFVFpn?= =?utf-8?B?Z3ZWeFpnQVQwYk1UcmtWOVpCYzVRUGR0U0dPUWNXZ2duSE9RR3g5eDNYODFD?= =?utf-8?B?SCtLWHMvQVg3NjJhblUxZWxEV1RjYlBtZy9JeWw3UzA5UU80cGtubFI0OUZZ?= =?utf-8?B?Z0h4dmQ4cTQ0NWhQamNCdk95dnZqTVJIVys1aGFSY0IrQmJQZU8xWG52dVRJ?= =?utf-8?B?eFJlbHZReng4VFRCVWtGUVl6WEgrU0JiYm1WOWpTekNCOUhEOGZxUEhUcDBw?= =?utf-8?B?TGdTNXd0WTNBdXMxK0NNMmxIcmxML1BrUXZ5cnBIU0IxYXNGZDNTOGJUNWVt?= =?utf-8?B?Rmp2ZUxTSnBYYXpERCtyZmVOazE5bXRlREZvZHFFdDZjeFBPa1E2SlFzakpu?= =?utf-8?B?NSt5SlIyNXIvSGlRSnEvaldQaXMwUTBJNUNzbCtxYnRnSVA5L3c1WU05d0w1?= =?utf-8?B?S3RCd0NrMG8vbFRObmw4WW1FTHdRdi9LTFdLMWhpZ2VWcEZXVjVIQWtqWnlU?= =?utf-8?B?Z01saFNRN1RiU3VnTEVFcE9RUGU0ZFlmOG1yRnhwVy9NYmNkazFWdlN1bzdp?= =?utf-8?B?d2JoYWZhZ3Zjb3JWUEJwUk1FbE1wenNlZlA2dVovRGwxZ1JCZHJzT3EvbTRy?= =?utf-8?B?cndSODZLQ0dXNWhna0FjMVN6cEJYNlJoSFdXRWRUV0xGY1kxdlZFTXdWSUhW?= =?utf-8?B?ZDI0cGYweFFuek92dlFleU95YzdUMFpSdnNvZmljdlE3Ym5NT0tHdmVXK214?= =?utf-8?B?cXpMT0gzbURweFEwdTFNVVFOcVo2VHVCSVNXVmRsYVFHU3VqajU2QVJMYUxK?= =?utf-8?B?UFVIVFhENGwwL1Yybm8zdXlzcnlRbDRMV2VManlUSGg3dTlockdxWFZmZkFD?= =?utf-8?B?WTJZUmltVUtXeGxUek1SVHRsSS9lTkFYbVRnODQ3Sk5IUmFNWTBWR3dzbGVq?= =?utf-8?B?a0tzZVFoTVN1TVpFbmc3dmFwdkdyL0ZWR3hqSzZFNjlKb0hiWEZiaWxOZ0ZW?= =?utf-8?B?VTA1QnhwM050a09MK3NVb1ViMmtuS3ZhQnM1T0ttZVhUNEtIMHBEUDFCYVcr?= =?utf-8?B?c1BBbDV4NTNHOWh0K2IydEdXZysrd3pJMHpCVnBONlMvL1FPOWhLWnZ5MFI5?= =?utf-8?B?VVI0aXJmWHdrblpFRjQvek95RitHUDVKT2tSL2Z1bEdScWFSWENDaWx2QkVo?= =?utf-8?B?bDErekM4KzU4TWFMRnQ0WGV0dFErcDFkL0dMOCtpMVhyZkZ2aFFrSFBETGdP?= =?utf-8?B?bkR3MWdkS1JvSGpFVnI3cDdtcnl2YmFYK3RNQUF3R0ZiN3FVQ1YyS3d1YzBo?= =?utf-8?B?SkxXODJJSlRsbEtCdlp0MUtRZWxwOUlBSEhRNWJiWXc5NzdSTkNPc1U3WGJw?= =?utf-8?B?a1lTRXdPWW4vQW4zQ3drV0NKMGtFK0wvWFdJWTA5OHRwVGF2Nk9NMVp1dTdS?= =?utf-8?B?NUh3cGd5LytDcDdoZzRweStvY1RMWTFJdUFZa3VMWTQ1NiszdGdXOEFoUm5U?= =?utf-8?B?a1JZRTIwOU9XT2dVS3RmWWRmeS85c1VMYmxZVjZvTGJIUUx3WXRwUjExeE9m?= =?utf-8?B?L3V2WmRjZUQxdXRJUjkzOVJMU21oMmRiZEdYelA3ZTJLRTJGY0J4eEhLQzhU?= =?utf-8?B?YnBpQUU2Tmh6VzEwODd2L3YweG5WMGRVQktSNUt0Q09udUNCeTVhdU5wM1o4?= =?utf-8?B?S1E1Yi80bzVYNUN3Um85UDBYOVRoaEpPc0R5dXBydEZ6UG5qYVo5NEpYR3hM?= =?utf-8?B?QU1UNUR0VTVLcjVDM2ZKdExGc1RLUk8rS09zVEJvcVhyMit3N1UzZTZRN2NY?= =?utf-8?B?RGdNNVh0N3VibmR0SlBnNER1Nm12WmFqdGk0ZDUydFMzRlFkTGVNZU11cENF?= =?utf-8?B?RDRnRDdmMERiR1ZGYUl3MEtITFdCNDFadytnaWFsMlhoeXVTTjVHSTU3TVJj?= =?utf-8?B?RTRUaGFIeHBqVHNLQ1JxMWtYa1NpWnpTazZvUDVaWFo5aU9UbGpkWkpWWHkz?= =?utf-8?B?R2JQNU5sSUxueXFFT25zbHBNWE1oYjJaRXhUeHp3NTZBTzQ3RUpQRzlTTzZQ?= =?utf-8?B?QWhwb0QvdWw4cENjRmFIM3pGS1gzS0xrZUJ6TFE2MjRUWG9pZTY4dz09?= X-Exchange-RoutingPolicyChecked: b2Yy/VkbSNJtjUmy41yBiGzD6ctLzGe5RTiVIohJ7+Db9vLW4uiB/K9oSFdVQVIp7AXRz5qrhtoW1bvGV1MG1PWiVl8gQrFFI9srCBZU9+syGRnskZ5lDqJtOsRnGfZaC/ThuvqZrNZ5LxCo7hEplxCV/C2W1tAYZs6jwo0MPg00OT35Qob/qZeP4XvJC/G7e5/yPow1xHOWgnmehzXE1mVjoWFVecNGtFeBCz0VWnxPh9zcYz/2pvWUa1ZXvcXg06E5C3HOXJ07J9MW5/BOBFHGCYEWx8yTE4hf+DQpMRNcYPFkjQJJgRol+sYbbLIyIne4VqfGYhllp8fQkISeIA== X-MS-Exchange-CrossTenant-Network-Message-Id: 42a4eade-2edc-40c7-5f12-08deddff08eb X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7925.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2026 21:14:17.2136 (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: 17k1ZpxBbUWviAlTDpZJ6jLvQYJVGjJcD21d8QjwjHjwdJjM/Yxwvb0CbvLljxzhhwbhkrNNH0tSTEVZ4s08TJ3CxV8PKn0685ZJnsbbsI8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CHXPR11MB9652 X-OriginatorOrg: intel.com On 7/7/2026 1:27 PM, Andrei Vagin wrote: > > With this changes, the kernel will correctly reject signals frames with > MPX states on APX machines and vise versa. If a signal frame contains an > MPX state, it will be rejected on an APX machine because XCR0 will lack > the MPX bits, causing XRSTOR to trigger a #GP. The exact same thing > happens if a signal frame containing an APX state is brought to an older > machine. XRSTOR explicitly triggers a #GP exception if a bit in XCR0 is > 0 but the corresponding bit in the xstate_bv field of the XSAVE header > is 1. This hardware enforcement occurs regardless of whether the target > bit is present in the requested-feature bitmap. Okay, in this regard, the interaction with XRSTOR in ring0 is ultimately what enforces the consistency check. Rather than trying to interpret the frame, let the kernel XRSTOR validate whether the image is migratable to the target or not. Perhaps, that's your perspective here all. > Dynamic XSTATE components (like Intel AMX) require a process to > explicitly request permission via arch_prctl(ARCH_REQ_XCOMP_PERM, ...). > During the checkpoint, CRIU detects which dynamic features have been > enabled for each thread and saves this configuration as part of the > process image. During the restore, CRIU invokes arch_prctl() on threads > to request the identical dynamic XSTATE permissions. If the target > machine doesn't support a specific dynamic state, the restore will fail. The permission request itself does not expand a task's fpstate -- it does not reallocate a larger XSAVE buffer or update its size/xfeatures attributes. Assuming the target task has never touched the dynamic state, if fx_sw->xstate_size > fpstate->user_size is permitted, while fx_sw->xfeatures is still used directly as the XRSTOR RFBM, I think it may be possible to trigger an ugly #NM in the kernel along the way when CONFIG_X86_DEBUG_FPU=n. If CONFIG_X86_DEBUG_FPU=y, xfd_validate_state() could guard this by clearing the bit as part of its consistency check. If the restore path manages the destination fpstate before XRSTOR somehow, then this dynamic satate example isn't the case of migrating from larger to smaller frames. But I guess what you wanted here was stretching the "try-and-see" migration model to cover learger-to-smaller xstate-size transitions as well. But again, from the kernel perspective, I feel this relaxation needs very careful review and auditing. Thanks, Chang