From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (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 483441F03D7 for ; Fri, 6 Feb 2026 02:14:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.9 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770344095; cv=fail; b=kAYfGmQ9E1TIwcBB3LEJKKS38Wg/b2jPDtcICNLdBM2Nqe4kdDNrYmAFSV7xBAvMKsE6qRYLj65C2CKbaSkp+u89+Uf2KaodVKHR8J8S9GpvRAOjaBiHIo6u8Y8yC7Y8CFmsiPTlxOFFBz59rQES5JjKePPDNRYv4dfi5388v5k= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770344095; c=relaxed/simple; bh=WmSLqiM3FL464AAJMzs3ZV91sphyLX4oa8c+1FFL2lw=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=VweEDlWVFTr/9EVaR6sP1sqnmjuJ7bCqcbUpAUNp8zdxrSEZot9VaA5klLvnftXjvBISBA/ry/Zz70ANA3+TMBQv3mDGXTHBAMVdpHpg1NIP7M/HZ8KjQcUce6MagGYojEqjsIOp82aslBC/lWzizWPfA6o2tJCO0Zpe4MuUL8c= 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=OBIG/TT+; arc=fail smtp.client-ip=192.198.163.9 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="OBIG/TT+" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1770344094; x=1801880094; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=WmSLqiM3FL464AAJMzs3ZV91sphyLX4oa8c+1FFL2lw=; b=OBIG/TT+1Gwc9rRlwidKRVdfrYkOGXVa9CZBmRvgbf8ibbXxXL5zQwhx 3nxvfDBPTs9TtpeMFVq/xnKNq366dLG9OkeHPXLygdsPKCXqxuA0dAkPn a8frw4K7c4Ns/VBFBQnBEI7y4jsGBjMRlaOYJ+N/z8B6uQR1jTcO6yWdi UJQaxTwtKMoj3GLslvgHVOxW6Sl/NktX3XI6R/o8nDwIm9udniQnpSpFW kTqf/JO4z2PnWp5SNMWcNqxr5HXcXWHnZVZHdZhLUEWZz10qSgmHjlOm+ JOqrlknhk2L7dZ0w4Ukv52HNMDdQDAsq1kKdeTvQLWUE3eULMmmxoYqrA g==; X-CSE-ConnectionGUID: glQTlyWsTdyPghbtXam3Wg== X-CSE-MsgGUID: 7ug8Zz5hSECYU/S3RkbhrA== X-IronPort-AV: E=McAfee;i="6800,10657,11692"; a="82290164" X-IronPort-AV: E=Sophos;i="6.21,275,1763452800"; d="scan'208";a="82290164" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Feb 2026 18:14:53 -0800 X-CSE-ConnectionGUID: 7SaJOaJmSjqn2aFjYTtRtw== X-CSE-MsgGUID: QK//V9fcSH+4liJsesel6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,275,1763452800"; d="scan'208";a="210048122" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by fmviesa007.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Feb 2026 18:14:53 -0800 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) 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.35; Thu, 5 Feb 2026 18:14:48 -0800 Received: from fmsedg901.ED.cps.intel.com (10.1.192.143) 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.35 via Frontend Transport; Thu, 5 Feb 2026 18:14:48 -0800 Received: from SA9PR02CU001.outbound.protection.outlook.com (40.93.196.8) by edgegateway.intel.com (192.55.55.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Thu, 5 Feb 2026 18:14:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PGnSAOwgcyj3KVYoTsMGot4T9fhaU4cSTyyu1/afEme++o0rjHU7t7XxpWMM+eDBVekbAooEGkAgVtLYGkMXoC+tqFehH8TADT8ycrvhSkqNh6yW3AFsygVxrNCZmKj/EgIdgSYjfSwa9KDG3zXIi6zDBdYZw6KcZdCNI65VApQrhZOh9VS/zxtDmzIVNs8lmEPfg7i7/mxH3U1pdPy2a5WT5l4/AF76XX5CzvOkdSWBm2zqckzKZ30bk51RGSmHTyZis7EZcO8UoYQDA2SeO15mav0JFacH5VAphBI8Ufk9QqtriS0SHti78/mImkZuDjCBRoqpG7RIIX4Ehu0hqQ== 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=V+0DZlnmXO2/Wtkbh2CoJkvwUeG4MLZ3wl0GWWqz0HE=; b=H8dTC1G3Ez90JwIBwORHgN71EjZms54eh1M6GCMLZM5ej0mKatqx3qYmPF8t60KzyWc6TrAMIN3ChS6LM5viW5aWF3kbIgJs2eUMpEKjXxm38E6c5x5q7VglkbbAzQlD+yPAQ4YmwREkaNbcH0I0E7zHRdPvTsdkQLRQC/x7fCAoiO1jEf7XTim1vVvxfTQSBKxc12m3loq8Hi46QNAY8HwMmnzFG3h/m0ZuTDi/IdqcjdzmM850DNd1EgjSZbO36dbAEkrDk/Bt/qpkhl96LiLmdgZXte4gBv7YoioXpenn9H13eT5OGlEXfQSaPR7WqmRHFxFtR8DK2ehWjfSt1Q== 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 CY8PR11MB7729.namprd11.prod.outlook.com (2603:10b6:930:70::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.15; Fri, 6 Feb 2026 02:14:41 +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.20.9587.013; Fri, 6 Feb 2026 02:14:41 +0000 Message-ID: <80c16fe8-471a-4e31-987c-15d377f8f165@intel.com> Date: Thu, 5 Feb 2026 18:14:39 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/7] stop_machine: Introduce stop_machine_nmi() To: Borislav Petkov , "Kaplan, David" CC: "linux-kernel@vger.kernel.org" , "x86@kernel.org" , "tglx@linutronix.de" , "mingo@redhat.com" , "dave.hansen@linux.intel.com" , "peterz@infradead.org" References: <20260125014224.249901-1-chang.seok.bae@intel.com> <20260125014224.249901-2-chang.seok.bae@intel.com> <20260127154948.GLaXjenHeJ7Ay6OFJ5@fat_crate.local> <20260127204957.GMaXkk9WRLzn89WP-n@fat_crate.local> <20260128163556.GOaXo67MJ43kCRs68m@fat_crate.local> <20260129121729.GRaXtP2aeWkQKegxC2@fat_crate.local> <20260202105411.GVaYCCUygtEUNrMUtG@fat_crate.local> Content-Language: en-US From: "Chang S. Bae" In-Reply-To: <20260202105411.GVaYCCUygtEUNrMUtG@fat_crate.local> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR03CA0191.namprd03.prod.outlook.com (2603:10b6:a03:2ef::16) 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_|CY8PR11MB7729:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d83f227-fc26-4418-de1a-08de65257c4d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SGx5MnNMNVljYnVZMFcxbXdOb1psZ0s1dnpIbEJJdHd5QVM3Lzg5NysxVkFo?= =?utf-8?B?MHlYa1puYTNBZFFsa3Q5OTIvazVDdkxYVFk2cTI1aXJmMnFoazlTeXlTNVd2?= =?utf-8?B?dEpBRzF5c1dMZ0NUckpaYzJaM1lGVnZraDlYSC9EejlXZGRNaWJQZXMwM1U4?= =?utf-8?B?VGVNNzRNZHVOMkhVdnNBdVZIalA3RzhUcXF1NmtHbDJQdmt3a0laNDVnQ0p1?= =?utf-8?B?d1NUZnZ6VklEazJSM25Ya0JDVFIwRUx0T1RaRTlXZGMvdzJHNnhhbEdqdHUv?= =?utf-8?B?VklwZDNiS0EwdUZJb3VqaFA1SXoxSFY4azMrZWM1dkIxaVljSkVqcGFKd0I3?= =?utf-8?B?YjI4ZjhMb2kxQTRESXFpOVVoUHp4b3p0cS9aekcwaG93VG04VnBCckFiODVw?= =?utf-8?B?MVphR3dDbkxwQjhja09PL3pZRHZaZEp6ZFJOOERWUmxWMGQ1RVZaNkdqMFJQ?= =?utf-8?B?ZGtmR0xRcUxTT3JIK2JCSDQxVFhvK2h3U3RwZXNObXpoVnFweHBGM0doMnNR?= =?utf-8?B?aGUzb2hJS3BSM2RjK2dvb0t3TWlBTkl5LzE5d1VGRmE5MFFEWURHazhDbzZI?= =?utf-8?B?cHExNzg4c0tCb2tDRzM0UUFOWXpxWHNjemE2UFUxelhVbThFTHhqTk1DdUNr?= =?utf-8?B?SUZVZFoyeFNDMTl3K21aNWdhaWQwWEZVc2h0NlM5MjRNWXMzRFZROTlod1Zs?= =?utf-8?B?Y3FWWTNIK1c0emR0dGU2VDAzUVRzaHFlYnpOV1E5MkRoM1creitJalRCTStV?= =?utf-8?B?WkJCbDc5NzNhRnNSK1p5WU4zUUhHZUp0K3IwM1RncnFNSjVoRTJObnA3dHdD?= =?utf-8?B?eXp5RHF0cnM5aXp4NmxJWmdURjFEMEdPelFXOThRcUYzN2xWL3dzcE4xS0F3?= =?utf-8?B?bmJKUjlQN2pDbnNRQU9tdjlNdTZyemRpVGtjZ1pzbjNmVi8xeDJRbWlYek9C?= =?utf-8?B?dGViTWxaTFFoMlJsNmtUczZYUHRZSmZRbUViUmFzNGlwdmxJcGFsRnFwSmtS?= =?utf-8?B?VE9IczY0bEJIcmgySEhXSnBQenZYK0pxMnRYTnlqV0duWkwrUDY2RkJIa3Qz?= =?utf-8?B?ZG5lY2xLSmJybEFwY2dvQ1hiSE14dFROcUxraWd2bGVKMmlDdUNYZlRDTVMv?= =?utf-8?B?L2lQa05KM2RHSzZaV1VPTUxGMWpmTDFyUjFHT0xlcmU0Y0JBZHA3U2grSUJD?= =?utf-8?B?aFRtcWF0Yzd0SmJ0am9XS1JqNjRNMFhrWDVLRFlCd2JLK1ZmVmFKLzFyRGpl?= =?utf-8?B?Yld5aDBlTGhJYUwwdUlMTUtjQjNDTlU2MHJ2OVp5YlZnSFBVN1k3QktmRUNH?= =?utf-8?B?MVAxeDVWQi91SWEwQzJVNDV6R1BzRWxTRVI2cGZUZCtZUy9DTmw3alRCZEt0?= =?utf-8?B?aW8vNWtmMHJQWFJyMkl5WTRvWGVlcEw1SG02WjBIcjRKTUIvL1doOWUwNlh2?= =?utf-8?B?NjdHaEZ0ZnBadmJVWDRqb0JORVZlcXVhZ1dRNDJsT1hDTHZzWklHK21XMDFq?= =?utf-8?B?SmtMUC8xRkphN1ZSa0szQlFkOUo3TGdwTVFKaHM2bTBzeHQ5S2IxYzU2RG10?= =?utf-8?B?b0VCdVZpWWhSaTdES3ZQV2tFRitnVlNrejBPK1M3MnZOczFrOFFzUGdRVmRR?= =?utf-8?B?VmVYbUEzMXF4YysvTkpybWNaMmhkdXM1K2IrSmNTaGkwNzNrR2J0MFR3dGpT?= =?utf-8?B?SE03S3ZmSUtkOHJJNmdmbVlWbUo4NHMxRy96NzhzNnpOWTJhYmtJL2RNWjBy?= =?utf-8?B?WWdaa2kyRlNPOXNlVFVQejZoNEt4RFBRMXNDZGxRbkh5bHhveFpCUWZBV0w5?= =?utf-8?B?SjdaNlRyNU1neGUwZ3Q4NWZSbm1xRTBYY1lKZU9nN2JObWVEdFdKQ2RuQUdQ?= =?utf-8?B?UndYb1VlSVFTWHNUOGNaTGRuSWVoVm9ZU1h0MFJNUm9TclBJYXZuU0VoRzJE?= =?utf-8?B?eUxoTzdXV2pLU09xQk5qYXJ1RUUzbC9xRzBZdVhzcDI3YWl6TkZmMnRSRDl1?= =?utf-8?B?UEpPUWtERVNmS0RERGtFZW1vOVoxRyt1eWpUTU5jV3ViNWZXcmNhWlJJaHUw?= =?utf-8?B?cHFCNWVvUUEzOXpvWVg0N01Od2xZYlMxM3ZLeGRta3VJTWEweDd5a1VyS2dM?= =?utf-8?Q?VId4=3D?= 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)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUx3TlNLWkovNzFqb3JtOWtSTzg4M3FRVWhIR3lNUWdqc2hvYU9hY1V5QUVh?= =?utf-8?B?T3QrdzVCODZuY05IczhyWnJEc0crV0ZIQmM5VW1tSjM3K1FMVzZ1OWhhcm4v?= =?utf-8?B?a1NaMHB3L1U1MnBEcGd5aUtvSnREdXpXbmhySDgzUVVoclJMN0NsMDU4M0Zy?= =?utf-8?B?VG5JVS9YTkFMbnl6dGxXeXVtRWQ4bnJnbDhFNzUwMW1KOW52UGxsTUVPYTh3?= =?utf-8?B?SnBEaitmbTUzZ3VJUC9SbTJHa0daQkdsOUdlWkNBd1VSaTFya09ZMHBNUkZD?= =?utf-8?B?dGh4Y1lrMjErWEMvOEsrNjd5SjYxNDl1dGtvWTlPUGVrNlpCUzNUZkNmV3BJ?= =?utf-8?B?YjdaaVZBRW5hUFpSMWRTK05rQWxmeVVhYW1QK0ZCNDhrdXdsMDFNQk9BSkpn?= =?utf-8?B?RFhFZHZCSUNhM0wrTlBuZFV6WU9xVndPV0Y1cm1YQ056NkZzRjZja1ZJODEy?= =?utf-8?B?aWhNOXNRSWpiM3RqMS9ZQjJiSytTMjNkY1RXa041aDJyU0d2WUNRUW1ZWll5?= =?utf-8?B?elBwK3JvL3UzTWl4VitLRGptTE5kalordis1T1p6MENkemR0aXNGbGZ0U3pW?= =?utf-8?B?dW05b2FDWXFBQUdDblVjdDhzNHVvOFY5cktVck5lOHZFLytDd3BLT3FkWmc0?= =?utf-8?B?TW1WRUlSVTR6OEdyaGZVNE4xVnpxYzFqb1ZHR3dNS0V6NDBwa3VYRnplWndW?= =?utf-8?B?WDVoZTVDeDIyQ1UyUHcycnBvYVZsdVpFV1FsYUhvcG4vVUxBWm5zZjZmbVhV?= =?utf-8?B?ekdxVTFqemE3U1R1Nk1ielFaTmRIa3E1dVBGYUFmYVZZZmx2amtCdFdaZDRa?= =?utf-8?B?b1E0QnZUejFzY0lFcEpXQ0ZiOTVnMWJsOVN1SldhRkRRMmRveFhnV29vY1Nz?= =?utf-8?B?U3V1dHVieDJPeldRQ2taZEs1TkxTcVc4dzcxNU5laEREM2RtbDNRVHRVdnM2?= =?utf-8?B?RGM0TC9xM1F3QnRjMUpDZ2cvYlRFOUZHYkhKMms4N0NqdnFzQXlrMGVkSjFR?= =?utf-8?B?TmcrN2FRb0N5Q3krK1FNTjh6Q1plQUJPNzFCbnJMelNOSFdxS2RpSHQxcWhu?= =?utf-8?B?eGRENDVEb1BPR0JwYUROa1BUWkJYYitsdzB4YURpUHpBZ3pOSnVCdzdtRmV5?= =?utf-8?B?ektQZVJvWlpPd2RjZnk5OWdzaHJiZ0c0eFBsNFF4NlBiL2xOdDk4Q3daeERO?= =?utf-8?B?cW1vWTJ0SEV3K0oxMWVEUkRLMFA5ODYyeVhGekc4cWlYZllPLzV5VmFrMi95?= =?utf-8?B?elhiUVhiQnBQa0xLUS9jOUIwSXAzekF5WjdEY1RZWHN6MitrQ3diWGRuMTZP?= =?utf-8?B?cGQ1bEpKa3FKMFFiZGFVVkU2MW9JOGY2SUQ3SEwrSWY0b1A1aWFEQU1FWlZM?= =?utf-8?B?akN3OVpJbXZTNGp0cUlmT05qSUsydFExdlBzSHBXb0dCcHRXZHMzVXkvc2U4?= =?utf-8?B?SFpSRUZvdmUzSlZYVVhvM0c5WnZraDFDT1hqZnNQVzdGL2NJRzZWVGVMRGxF?= =?utf-8?B?WW84ZUY1SkxPN1NHb1hDR05lOVduMjd2VjZteUZ6L3g3RGt0MVNuZ2d3QklO?= =?utf-8?B?eklsOTVGcStUdnVPTkt5ekpwdHNWd3h3VFI4R3pEMWs5TjBlWklRRmRtYVBa?= =?utf-8?B?R3BMOUM1NGUzSkdKNG5pcVhDc29BMHhLbnlmbXgwUmR0anQ2TTA5UlB6S0s1?= =?utf-8?B?dXM1VWtQYUVTNENCd0ZNYXZBUFVmV2NBeHhjSCs5VXJJU3dSU2xZSHhYcHRy?= =?utf-8?B?TU0yUjRNQWZuODRqb2hwMjdWc0oyNmlVZUVMQlUwV2YxV0IzNzBkdnFuM3Fz?= =?utf-8?B?d1NXTnc0YlNmSE12SUU0YjhkS3pDdVkxbVRNLzl3eHBaQ05yU2tDcE4rS1R4?= =?utf-8?B?QW9lai9GajlVMEx0Q0pBWjZqY1RhNmJ4VUJVVStlQWxNNlU1K3VSN0puaUpx?= =?utf-8?B?NlpTYnNwK0lsTzVQYUU2aHJWUXVjcHRGcTh3RFNrTlZlVktvSWk0WmprV3F1?= =?utf-8?B?Z2xxNXhmdGJVL3RKbW1JMHZISmZrUmpCdXViczVUdWpFUVlOWTErUk9raFZD?= =?utf-8?B?NnhFWHR1L3hXd2d1cEFWU29WSG5PUzBHWHpFd2NYWm9EMC8zZStFaHgrK0Fp?= =?utf-8?B?NDBIcWNpcTB5SHpDWGtDQ0MwN3piTGg1cUhISU9wMlk0Q0RwQlZrWDZ3WHhY?= =?utf-8?B?Z1hmU3hxa1R4cjVCdlB1Mm84VXYrK0gyTWFXMUhNVG5KRHhwak1GcWxjVTNP?= =?utf-8?B?MVNTR0piUzdkeGh5M1gxQWJJRUxmOXZEQ2NHTVZYb1RGUzI4bVpjMUNDNXky?= =?utf-8?B?dHoxbmpLak1CdlA3aG5RTTdFQkpueVh0c044MDFtSDhCd1NxNmYzQT09?= X-MS-Exchange-CrossTenant-Network-Message-Id: 9d83f227-fc26-4418-de1a-08de65257c4d X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7925.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2026 02:14:41.0217 (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: wwo0mBPk2Lum+UE3niOSuwnDJbYjorD/2fq1qRC8dpLMq2umR/RIyaEO8eHqIVdKKf3LpYCJvYAXoAuNDhleiWpSlVySDXUIw594LHnPIwU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7729 X-OriginatorOrg: intel.com On 2/2/2026 2:54 AM, Borislav Petkov wrote: ... > @@ -174,8 +174,26 @@ struct multi_stop_data { > > enum multi_stop_state state; > atomic_t thread_ack; > + > + bool use_nmi; > + > + /* > + * cpumasks of CPUs on which to raise an NMI; used in the NMI > + * stomp_machine variant. nmi_cpus_done is used for tracking > + * when the NMI handler has executed successfully. > + */ > + struct cpumask nmi_cpus; > + struct cpumask nmi_cpus_done; > + > +}; Looks like every stop_machine variant then will spend stack for these masks. It seems they could be cpumask_var_t. Alternatively, to make it simple further, a per-CPU variable could achieve this if I understand correctly: struct stop_machine_nmi_ctrl { ... bool done; } Then, for_each_cpu(cpu, cpus) per_cpu(stop_machine_nmi_ctrl.done, cpu) = false; ... ret = stop_cpus(cpu_online_mask, multi_cpu_stop, &msdata); ... for_each_cpu(cpu, cpus) { if (!per_cpu(stop_machine_nmi_ctrl.done, cpu)) { pr_err("Some CPUs didn't run ...\n"); return -EINVAL; } } Or, I guess even the msdata pointer alone could do that too -- setting it before and checking if NULL after. > +static int __stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, > + const struct cpumask *cpus, bool use_nmi) > { > struct multi_stop_data msdata = { > .fn = fn, > .data = data, > .num_threads = num_online_cpus(), > .active_cpus = cpus, > + .use_nmi = use_nmi, > }; > + int ret, cpu; > + > + if (use_nmi) { > + cpumask_copy(&msdata.nmi_cpus, cpus); > + cpumask_clear(&msdata.nmi_cpus_done); > + } > > lockdep_assert_cpus_held(); > > @@ -617,7 +677,32 @@ int stop_machine_cpuslocked(cpu_stop_fn_t fn, void *data, > > /* Set the initial state and stop all online cpus. */ > set_state(&msdata, MULTI_STOP_PREPARE); > - return stop_cpus(cpu_online_mask, multi_cpu_stop, &msdata); > + ret = stop_cpus(cpu_online_mask, multi_cpu_stop, &msdata); > + > + if (!use_nmi) > + return ret; > + > + if (!cpumask_equal(cpus, &msdata.nmi_cpus_done)) { > + pr_err("Some CPUs didn't run the stomp_machine NMI handler\n"); > + return -EINVAL; > + } else { > + for_each_cpu(cpu, cpus) > + ret |= per_cpu(stop_machine_nmi_ctrl.err, cpu); This error accumulation here makes sense to me though, Currently, stop_machine() documents: /* ... * Return: 0 if all invocations of @fn return zero. Otherwise, the * value returned by an arbitrarily chosen member of the set of calls to ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * @fn that returned non-zero. */ This behavior dates back to: commit 1142d810298e694 ("cpu_stop: implement stop_cpu[s]()") where cpu_stopper_thread() does: struct cpu_stop_done *done = work->done; ... ret = fn(arg); if (ret) done->ret = ret; So the return value is overwritten instead of accumulation, while struct cpu_stop_done is shared like the note: /* * Structure to determine completion condition and record errors. May * be shared by works on different cpus. */ I don't know whether that was an intentional design choice or not. But, at least the NMI variant might have a slight different semantic in this regard.