From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (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 A9E9237C91B for ; Tue, 11 Aug 2026 06:06:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=198.175.65.15 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786428395; cv=fail; b=pyZCoT0OKF7fH1OKSE+lRc/xHK/th/2A4mWjkuSNl+6i/EjoLxK2t/dpNkVWUJRi3Ufru8DL+COADjre6XMW/J2NSnxc2WPslxTR3IVvG3sLrAot3q/hLlg9H9oQFYuyIpi/EOssnJ1SosDYp2bXkrLi4ApzoHm9G4uwz/f2Ktw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786428395; c=relaxed/simple; bh=uBW5MXuIdtDEqtz/ysGVi1o9+JOGZx1nWYSHP7nH8+g=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=nwVcmEc8q0h6LME9/KHr++wj9z5p+nGvzx0ej/3LZC+RdKkw0JIjpxEIC/B1l/9WHbUlpVI/dFMSegDNDczGEPkIJI54vjcZRRiSSHlnfCbpN1BWy7SLW3EL37fn68sCpJg6/RLWeA7Z8TT0QxoLq1aaJ5aGgONw9GXQoUhj75k= 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=d4tWW6CL; arc=fail smtp.client-ip=198.175.65.15 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="d4tWW6CL" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1786428393; x=1817964393; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=uBW5MXuIdtDEqtz/ysGVi1o9+JOGZx1nWYSHP7nH8+g=; b=d4tWW6CLQKqEAOccpqPG7VU6o4fum7nJd6ylmSgtD6Hepmmf3dP5vM6Q 8GadGWDe5JuUHiBUYNLBLBizf1SCs5mMZm2RbDh6lcMEoaoDoQslHovLp XkWMk3wdfUBnAzKVSk+4eThkrkjMuVPOVYBFXvgrqOlJ2LfFMzuW2i7cl glliEd4qCgDyVa6KNJdDOE+zP/4wqxORYKw1zycIYkQNPaXcL7KVT/oFG fMy1KcSHfB/FjpYfMzZQyrKwsL59m47W/qybqdqguBLqmcEXlyiz23VGb Rhs2GsJ+SKAg657YlqbY4tqMBl2cHImMZlZVj9bnu+wZ3M0/TgyyFtegr Q==; X-CSE-ConnectionGUID: 37VRvwfaRJa1+4BaUEsOMw== X-CSE-MsgGUID: ESAMN+HvTwCst56M9ZCMgw== X-IronPort-AV: E=McAfee;i="6800,10657,11871"; a="90632496" X-IronPort-AV: E=Sophos;i="6.25,217,1779174000"; d="scan'208";a="90632496" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2026 23:06:32 -0700 X-CSE-ConnectionGUID: 70bwsBIFRF2DJtHaOO2jRg== X-CSE-MsgGUID: pNMR6EqQQ7uL4JkQQIz0WA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,217,1779174000"; d="scan'208";a="263294262" Received: from fmsmsx902.amr.corp.intel.com ([10.18.126.91]) by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2026 23:06:32 -0700 Received: from FMSMSX903.amr.corp.intel.com (10.18.126.92) by fmsmsx902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 23:06:31 -0700 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) 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.45 via Frontend Transport; Mon, 10 Aug 2026 23:06:31 -0700 Received: from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.15) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 10 Aug 2026 23:06:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bQedgmTWApzj24AG2NpjwVRnxUlhpfdf62S+L2NMQIYAkUQYcQZ0xixx+Hqjc4ed5HWkjuWRmshkAAUklW7ZJ+UYGQbDdkSdxnw0oTnr3hkZVdnJE0z5ewh6dvpY+1fx1qxEZHYA83ELZTJkjPJbVZVjj48kPrbPb+PPI4MN5LC7+Sp7ArsyWWThw5BBLUwju2vokZWDQevQXLCzzUR+H0wye70ahiqYo1DxTd9FXNWyCnKPkqEqqxTQ2+UCBjIZky0s1+IHGPFlFO9lY96P1bDMQ4l3Na8XgKDaZ7fZEBSBmO0WkNoUJcGMwemFRFwnPEVsP9QlLQC7vA0bKQbX4g== 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=hVUGmGgprsrSUEn2wn6cj/b95/gWcOg4JuCOwdy1UTI=; b=qhWDM+1wbrYWu5iDkeX+wzsu9+kFP8Lll/X5gueUgCIJwK3gLnhEnNONuHPm46KnwXovMbRansuwaIBN8qHi5B2S+BQoyGmAoccQw/CuXWaG2j/zWOtbwrVJ7LpWKqeULhwfsW0ofyiznAQoP7j8xT7tikd7tuj6Kwfu0ZPnhTcywKM9ta3IZ5fhRowh+Ldp8OZ2f91Xk2HlLodUEZ7dAtOIhiVKsCdLyUh3sy15rpZnQbD1YhjPhSblzHao249ALWPd45sD7OMGVQ5gVy+Rr55Xr3hXP10RMfX3HdbNyRTEGQYi5k1iY22aTubABdFzODW2yC53NJKXuLrgXWU6wg== 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 SJ2PR11MB8369.namprd11.prod.outlook.com (2603:10b6:a03:53d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Tue, 11 Aug 2026 06:06:23 +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.0292.024; Tue, 11 Aug 2026 06:06:22 +0000 Message-ID: Date: Mon, 10 Aug 2026 23:06:20 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 09/10] x86/fpu: Allow restoring signal frames with larger xstate_size To: Andrei Vagin CC: Andrei Vagin , 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> <1bc74033-ba54-49e1-b548-6742deedf1bf@intel.com> <0be62adf-a225-4c35-b526-6b216355797d@intel.com> <50bcc6cc-39c7-4207-aa0c-0b1007d97b30@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: SJ0PR03CA0246.namprd03.prod.outlook.com (2603:10b6:a03:3a0::11) 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_|SJ2PR11MB8369:EE_ X-MS-Office365-Filtering-Correlation-Id: 445fc0ff-8440-4491-4b32-08def76eab67 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|366016|7416014|1800799024|376014|22082099003|18002099003|56012099006|10067099003|6133799003|11063799006|4143699003; X-Microsoft-Antispam-Message-Info: QIji/NgWZhRWHCyL4ySnkV2B88Yv/eidhCN9oyIzKTZ+mzaEBo6n2q9cZDmoj670SxwUZlHc1eF5mt7uQpKuUdLpQAmuH2uIkD5soHBY8bIBl9hldCcQeCTle3WcUNIF5z+K49VBUUE5m0AtaAQUimkB/mSjSgzgVgB0XdqFVI10jz7vj6aWZK6LfP62zK/p+LuXWNc01VZCZ7Puld22NQ3kBYEsCHtC8LxalwBlafCWR0Are8EByCMnInS/PGoSb9lu4vJHdXQR4mbDnBzmmP5Y92Bq4ms5BlqzMMr5vgC+JxTKvduGKZTzPqYPH0r5JI95yAV3TH73tL7mI0LW+SbWyGqdRW8TZkN/QJ1kfWenJPrJcKDCfQDdLihnKbD9Ea0+NbDrdDeBPl7sABX8sQCcfgV4S3rh8vgLXbzf8be92FvWR3au54vU82GSEOXdjNoDHdrDIcWcTLJeTVaAnWZtrhb9Hnzc3dEz0QAWeloj8FTsDdQTfOmcfhBFUzJOX4VAFqI2AhHTdrbOLKDndDLZEa9cGn4YeyyaiG1fE2v//Q+aekt8Th2Q9BV9ghmG9a5q8L5iHVe80y4GsUbDa0KWN06heocdaqauwSrE4hGOe5b/kAds6zzYQI4tJiPuucos8VFLbvFNAJ3B6w3ZhCHjnDyzLLqg6XzBG5jE98g= 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)(7416014)(1800799024)(376014)(22082099003)(18002099003)(56012099006)(10067099003)(6133799003)(11063799006)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UjdZMUwzNXZsenZJcmN6bHhkbWZldlRZM3pWSGFIZG1ncUYzejZJQXkzWEJT?= =?utf-8?B?QlZWcml2SDQ5cjFwQzdRZnNZWDl1ZHpqVXZ5Ym1BbmQ1Mks2TUtjQnBlbXVo?= =?utf-8?B?Ym5nRHhOQ2FaY0M2azVxdUp4ZG5UK1JCM0h4YnkyYXRRa0VUWXEwaFk3NUxC?= =?utf-8?B?NzRxV3EyUFBLbi9tdW5GSFFTVi81TFZFSUYreEdMRGI2R3lCc21RRmoxVDJy?= =?utf-8?B?d243SytWcXBLbEtRUGgvTUFBcFU1anN5RmgwQkJBYnpPUWRXc2ZFNVRRSTlG?= =?utf-8?B?VmRCVWZJZk1QS2pKZ0Z6dTRvMWFXRWx0Ym1IY3BnZXYyWmEyVUl6YUhjUE9M?= =?utf-8?B?aUdvYTRUSVBMajk5UnZRTHEybGtqSE84bzF4ZDdQUW5NbURsNkxsWklwOGNu?= =?utf-8?B?cWxaeGt4WVlDbkM1TkJkb2ljMk9MejI5eTBRcTVXazljVGxEaVQwYStQVkRL?= =?utf-8?B?K1NvVXN0QmV4YXArTXU2dDgwT3czTkVybjBacmN1bzQxUFZyT2Z5cXI3eHdo?= =?utf-8?B?blhoY3ZNYU9iS2dGbWZGd0dlNGdUc1FSNGNIY3FyZWIyam16dVNWVVRpMk1k?= =?utf-8?B?RjlSN2pkanFINWk2Q0Y2SHJxN3hQMC84RVg1ZFZSWm5TVDl5SktUYXZjRU9y?= =?utf-8?B?STJkQjJJRGdCeHRVblJUcUhpaGRtbzhwMjdRMGl6TCs5cS9KSGh2MFN5MDlW?= =?utf-8?B?V1NDSGxQZTJlRWJKQmtCNzc0WExRb09vblhiWUIrSC83eHlneDM5bkFkTlRh?= =?utf-8?B?WTRDVm1lczZWNlcyNjJEaHA2NFVzWS9lVkxxRlVYMHRjYUlBU3QrOE1Kd1Fm?= =?utf-8?B?bzVGdW1ZSDg2ZkRwM1IwWk9YVVNGWUxJeVY3Rms5T2dYTW9GMTRwNUllNzdP?= =?utf-8?B?UkFHLzVSR09DWXFGdkl0eEkzMjIxNXpicGxYRnE3ZjY5cDRJbE1YaWwzbUU2?= =?utf-8?B?OUNFVkkwNmZ4OHhselpvVnJzZDVTMlA0RFF4L1RSSnl0a1BmbGQ3Ny9uZDl6?= =?utf-8?B?UTNoY0x5dVpqWkxqL3IyYzdldjYyKytaa1ExMDh2TURRaHNYY05sdUNZRFJZ?= =?utf-8?B?MjA1VFIzNGRYVmYyU0M3cHYzVmoxYjhON2FqSy90THFJUHJwNlVmY3pINzFs?= =?utf-8?B?Y09JRU1YQzZyU3FUZGthcksveE05eWFxVExvZ0wrc1c0ZEJHb24wZDdjSTdt?= =?utf-8?B?WEFwZ0hBaXhQZlFYOCtYL2NDekt0cmpLaFVMTjNWbEovbEh2MWFaNWlLUXE0?= =?utf-8?B?b2p2YkRvZThvb2x2Y0Z0SnQvb3FYTitnNG9PdTg4a0p5OE85cWhKN21TY3Nl?= =?utf-8?B?bkdFeDhXMUs3UENiVUI3WHNLQThSMlJycjNmdlozeEpzd2ZmUDhoalBWYTJV?= =?utf-8?B?Vnp5ZEExS0Z2Q0dGZHJ6OGRsZEZPNXQrQkgvSG1nMDJvLyttb0JDWFBFOEp2?= =?utf-8?B?VkVLV2VYdU5EVEl3dWNkdkhmOHJkSHNiRXVLYmxWdnN6VUdhRlUxRWRHaHls?= =?utf-8?B?V0lweHhlelAwQmxyOGw3VUFXMC82VzRGaTFvSmFKVGtqdXJFcmdMN20yREVI?= =?utf-8?B?bkJKeG5CUWRxdWR1NVhSOXlUbE81ZlY3MHBIYTRoNzZkZXhtRjZaMGV2dE5Y?= =?utf-8?B?eWlhVFBQZHF6Q01TK0t4alJHSndUb1ZCS21YWmtxaUtaMzJpNUNvNGVRNXRF?= =?utf-8?B?bkw1enhJcWcvRm1haVptcmdtdDdSdy9JQTZEOG0xQ3JaR2xGeE0xY1hKVHIx?= =?utf-8?B?MVB1QnhKSXAvZjVrdTZrVHJtcTJsRHRFZFl0MnFGNkswRHhYRTFndE9rS0NG?= =?utf-8?B?dDBHNUptcjF2RGFYSkxHajN3V1E3ZG5iSlB1alBHZERVTGV5MGZsWG1WV05k?= =?utf-8?B?Q1F1WXZkRXpFYnhoMGxJL2xCSVI3dlphaXgwQytudWtzeVE5aW81S213QUhE?= =?utf-8?B?SkphOE1SNFZJNDk0VnBtLy9GUkdoSVBuanZGNkV4ZExNM3dCRVBGUlpyaDBZ?= =?utf-8?B?SHJJdEtwZXVVOUZUNm1jeER4TmdaWklpYU9taUxXa3ZpNUlQbzcrZkhvMStC?= =?utf-8?B?V0VjSnR0R3ltQlpNRTN3RXNsYXBvNlNzQU9zaGVNMWxNMC90VmtEenZGMkxZ?= =?utf-8?B?TnRhb2dJTDlPOFVmaFk3a3VlYlovc1Y5b1BFOTU1a2FNb3ZnM3c1MXdhMnlq?= =?utf-8?B?QUo1cXpJZ1BuU0pZa2YwRGxhYTFTMHRPKzd3Nks0cE9DQVZ1TU5XU2Z5enl2?= =?utf-8?B?cmxhdXNaTjdQYjhFN2RyelN3Z1VaTUZWT0FhelVxc2tKN2taOWxsZXJBblVK?= =?utf-8?B?UmErMVVhZ0hzNGZxU25KT2NXU1lBWkNKVDE0elZMcGw0UFViZ2w4QT09?= X-Exchange-RoutingPolicyChecked: JqvR7r6v2pQ3zoRFlx6xY5NhyFmNv0aUbLGGjNUgcemwfAMZzg8B97fCup9Ct4mRCDWb4hQiFZImdXfSszAFLV+be1zEutIKvp4cqLaPlcT5UkQabpXw+wgysMe6HDz3C34AGOpU2LWuLUm/tdBQ08vmfvtjO/wlvVkKJzHmlALsMFjdtMJ29I6GGnOh063BB99bxwskyBEnqhnFJl43AT02J1VNEMGzVctGfLS6SF9vxiiGlr4vdRQ5yYSM99dNkK0aa7C4QPy+44SIPO4Lu84XsyG/asRTDVHRy1CIBPEnp83XueL0PUOvg7r3T677AWydm2kvqJqp+LQAMGFEsA== X-MS-Exchange-CrossTenant-Network-Message-Id: 445fc0ff-8440-4491-4b32-08def76eab67 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7925.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2026 06:06:22.8913 (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: rW6FhOGLPsG32ipuybTGO0u1tpbrgHtp5OO8tpxgBGcT26KPcrywsvDxT8cvoCLq8TCIRs2TVuFu4EXfpg/1wBqKu+/dquhs83jzF64e3RM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB8369 X-OriginatorOrg: intel.com On 8/8/2026 11:50 AM, Andrei Vagin wrote: > > If we decide not to enable dynamic features when restoring state from a > signal frame: > > diff --git a/arch/x86/kernel/fpu/signal.c b/arch/x86/kernel/fpu/signal.c > index 083f03d2d002..e2eeb85cc0cd 100644 > --- a/arch/x86/kernel/fpu/signal.c > +++ b/arch/x86/kernel/fpu/signal.c > @@ -64,6 +64,9 @@ static inline bool check_xstate_in_sigframe(struct > fxregs_state __user *buf_fx, > if (unlikely(magic2 != FP_XSTATE_MAGIC2)) > goto err_setfx; > > + if ((fx_sw->xfeatures & XFEATURE_MASK_USER_DYNAMIC) & > ~fpstate->user_xfeatures) > + return false; > + > if (fx_sw->xstate_size != fpstate->user_size || > fx_sw->xfeatures != fpstate->user_xfeatures) { > unsigned int xsize; > > > Then when a process is restored, we need to re-enable all dynamic > features that were enabled at the time of dump (restoring > fpstate->user_xfeatures per thread). > > However, ARCH_GET_XCOMP_PERM only gives us the mask of permitted > features for the process, not what is actually enabled for each thread. > We could blindly enable all permitted features on all threads, but that > is not ideal. Couldn't be staged for the review? (1) First, the above change with this patch * This can establish the semantic - reject from restoring a signal frame with dynamic state if not enabled (not first-touched). * A checkpoint program would need to make the required dynamic features available for every thread. While suboptimal, migration would be possible then. (2) Then, follow on with further optimizations, potentially including the new arch_prctl proposal This would make the two approaches distinguishable and give a chance to compare the implementation complexity and costs. Then, since these last two patches grow more, it could be an option to split the series: the patches before this could be relatively straightforward, while the more debatable changes could follow on later. Thanks, Chang