From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18]) (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 DED50261B9E for ; Fri, 13 Feb 2026 18:22:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.18 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771006962; cv=fail; b=hGHFxjKmCpikDV9cO5EuZzEKAlsoYDiWXLUCcSs1CuJVrjtxbKf3K+sYGOYvQGl/AAkaQ5VVJ09fkR8rplNiKHXBcyhRXNZ27brHcvX1EWJmLKamSIgObxe32Aq/rc2abvkypoUsBlxu+sN6pB6d9B4hd90Chfy/fSVtNmv3bNw= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771006962; c=relaxed/simple; bh=G5fs5s3B4PjtnWEL8phW2yYPq1PxpaB/85XggXOZBs0=; h=Message-ID:Date:Subject:To:CC:References:From:In-Reply-To: Content-Type:MIME-Version; b=Hn7TiCmKaHwc9vr+6nX5aka4PMW62FEBljqGSMLizCoWWXmyC0cLwjIUTecmmkcq1N+fEyW+oEirQInJBNFolHblgaEEfFfBJTRFN2kIa7uEAAzxZqa+LVpH1aGAetZA1eK0xRY1G4EoTmraYjJlZJMdLpO0FtVDLdeTIupH5v0= 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=fkGTWtnz; arc=fail smtp.client-ip=192.198.163.18 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="fkGTWtnz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1771006959; x=1802542959; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=G5fs5s3B4PjtnWEL8phW2yYPq1PxpaB/85XggXOZBs0=; b=fkGTWtnznKgFurHiDSG3ncGdvev1SXy6XNU1X0Mgm3bi2gy25gW35QgD p2w4sSTN+dFZTfyee4xuScuirD+frqc+35+Kv5kBmkRK4yRv3ZqbavnLD RJdzBu73x8p7Cu+h1tZog34I3uhZEG1Sss9yScqHFeldbepKyLdk+RQ9G RQYui+pMfh0dZkaIfX0pqgnHgpgIZ6M5mUMfdnbQLhC7tKHHL6Fxy6+np ORs/1MIx7PUD4lzEkjOahIQ4GqiyfESQeKw8NcDyDbjCe5pFehhuZ0xKf WcuJYocdk9CncDeirttRkTnyGzgpwxyoj2++fahBYw4S4bjwMQ5c58zD7 w==; X-CSE-ConnectionGUID: 6gVEaw8bQ8WWHtaoGsSd2w== X-CSE-MsgGUID: OMpoNBXGQw6j70PYzl7Xbw== X-IronPort-AV: E=McAfee;i="6800,10657,11700"; a="71393332" X-IronPort-AV: E=Sophos;i="6.21,289,1763452800"; d="scan'208";a="71393332" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2026 10:22:38 -0800 X-CSE-ConnectionGUID: Mddkgv/NSw2LIr1+Ua+JEw== X-CSE-MsgGUID: v58jdepfQiSXPH4priBrNw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,289,1763452800"; d="scan'208";a="217964367" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa005.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Feb 2026 10:22:38 -0800 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Fri, 13 Feb 2026 10:22:37 -0800 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35 via Frontend Transport; Fri, 13 Feb 2026 10:22:37 -0800 Received: from BL2PR02CU003.outbound.protection.outlook.com (52.101.52.55) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.35; Fri, 13 Feb 2026 10:22:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PRvPkZlbg/yAsqrcZQ2ANyk5+ieKMXkiW/NEzwY8R91q86mJcwYAv+hp+PS1UwXc4o306x8aEAOi4vLBG+uWSJsCqNUbMZSfukPdrn+9rUNrCYUgfGNqZBd1RBhxCRcmK7xStmNxwwceVqKVE1cLgMLzuHhLcWQZoVm/TWBIAU1o0Aj+jmkklCJUKzQzIqHeDWWLOi7vhLx8+WaZf7xOI1klXl8aGv/dFZ5I5i6gXDEnDSdRl+556OoGmuawOZkdAQpAK5E8R0L6g3gtcCBbH5ifGDr1e6o4Rahlwsvtmj6ay+7iNzDBZZJsajuYQfUNQR+dv8bWgsTOW6bvHHjsNw== 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=RDQRJBRP82x6pBzY83Y29SpbAbMtmokBOIJf0JtyYu8=; b=WqpCkuTz75TpBEwkuXeiSuLXxYg5AeAsFTBlPrZIbc5KD1QZRr2WZJd+7qbPhHlAcSmJdelmJ9Wd3+Q6z+fQZY0Wd2OQPGm5T1krBHIBmhM56I2BK085Oimwng9LKT4d8MOTnnYCZGB6KAE5JJaMx4c4P7KHgV9w8uhEEmQQUAmycE5w0T21CHcLxnrf5sQuuzdfsvAyJMmEeSo+rCbrhzDmCjdXjcbec9nOyNERuaRS8Omv1tVG6rB5bzlBEQ/kfoBpRrRUS3LUk2jcmWCCBRQu7bBxl1KuPW7HvmsvZKjMmORnBeXzQt0zKeWLsYnB54eI6qwRYeqU3GXXv2E4uw== 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 PH8PR11MB7989.namprd11.prod.outlook.com (2603:10b6:510:258::13) by DS0PR11MB7458.namprd11.prod.outlook.com (2603:10b6:8:145::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.13; Fri, 13 Feb 2026 18:22:34 +0000 Received: from PH8PR11MB7989.namprd11.prod.outlook.com ([fe80::dc36:253a:2554:e475]) by PH8PR11MB7989.namprd11.prod.outlook.com ([fe80::dc36:253a:2554:e475%5]) with mapi id 15.20.9611.012; Fri, 13 Feb 2026 18:22:34 +0000 Message-ID: <781ec3ba-d14c-4170-9726-b268658064db@intel.com> Date: Fri, 13 Feb 2026 10:22:31 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 2/3] x86/cpu: Check if feature string is non-zero Content-Language: en-US To: Maciej Wieczor-Retman CC: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , , "H. Peter Anvin" , Peter Zijlstra , , "Maciej Wieczor-Retman" , References: <184500c5-9e72-400e-8db2-22774c4856e6@intel.com> From: Sohil Mehta In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR03CA0013.namprd03.prod.outlook.com (2603:10b6:a03:33a::18) To PH8PR11MB7989.namprd11.prod.outlook.com (2603:10b6:510:258::13) 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: PH8PR11MB7989:EE_|DS0PR11MB7458:EE_ X-MS-Office365-Filtering-Correlation-Id: 7040d84f-1276-4d73-e4c9-08de6b2cdb98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TzYxZnZDM3hsbnRXMDdRUlBrb0hMYisraTFDTVpidmorcHpNWHptRTNteDFK?= =?utf-8?B?citsYXIyQU83cnZFUC9Jd08ybUpOeFZlNzRNeWVuV1pvWEZPTjJxMUY4UExC?= =?utf-8?B?bnM0YnBibHJqR05SN3NWbmlaRW5jSUljeW9YM2NDZmR3U0pyOWZBSmVZWjU0?= =?utf-8?B?RVpYZzlBdkxBSEgwcWZ4R3ZrUnhQTVpRWlpnc0ZRbHNLWks2SGx0TmlBVFQ5?= =?utf-8?B?UHVrMFlZNmlhR28yN29RT08vK0E4d1QxeGNPTmdtbGxHM2dTcUJUdVdlRmt1?= =?utf-8?B?UGJLaEEreWdIRUpqOWlTRjZFWWxuakgyOXNzRDQ3VmdzanFkbndIUUpVakNG?= =?utf-8?B?SHliczcrVUdmcktqRTRGaGtrZWs1NDBxWnBhdVBPdXBoc05XMUM4dzhTZUNS?= =?utf-8?B?bGdTMEprYmZLc21acENORHhhWTJjYnpkTXMzOERMMG42UzlMUlZxZXpMQ0hZ?= =?utf-8?B?V3E3V1NPM3J5eDJmWlROdlpRS3p1WHdmZUVnQURXdW4zYnlmLzlycjFOblNF?= =?utf-8?B?WmFjcGdaUGJxKy9nMDJpSXA1c3BhRGlUVEJGOWlZL0QxampHcXIraGQyTFBL?= =?utf-8?B?ZnV5R0E2MzVxckZYUGNsWkU2QlhIZVYwL1ozWVoyWEs4blE2ektpa0hMbUZz?= =?utf-8?B?clc0ZjNHV2tFQUVGTGRCTXozMjVjTlNqQWFuRWl2WXZVNWJyckc2NjRRZTR5?= =?utf-8?B?M25uY0RkZVAyZkxlUTJ5NVBVUWxFMWpSQzhDNDZoZG1OTjAwcWtZVTVTai82?= =?utf-8?B?T0FCdWNnYU9uS3UxU0Rya1dOU29TNlhMS2Q0V3ZpcTdkNjNHVmRrdkw5cTZy?= =?utf-8?B?VjhwcEJjTytOV3ZBVXFxYnJIQUhEdXBQR2tyRURLZml0UWU5RzJBa0hsaytz?= =?utf-8?B?VnErcTRJV3dRb2phMjZQZ3VVcTZnYnZiUTgyanA5eWdDZlNTS0dLdmdEcDd1?= =?utf-8?B?RVlnclgwVHpwZGwvUHZTREYrWExhWDMvaFZDTWNEOG5wMzIwT0c3bE5BdmJZ?= =?utf-8?B?eHZ0Ujh5UC9GaExaQzUzMFMxTFpFSFJGdnBlM2VNY0UybTBtcXk3ODhwMDdy?= =?utf-8?B?M0diZzNiYU1POWVqeVZjSEl5YktkajZxYUJacXpiRnpjNEdvZFZySXhYOTBH?= =?utf-8?B?YW1BWjRnQWt6Qm9KNzlMNG56NVlDSkQvSnU0Vk1UV3VFNTFISUYyRGtqM3ov?= =?utf-8?B?SmJuWUlJQnluanprN25VVWpSb2h2RGd6MlJyaFVYWnRMb1FBRGFKMGxXNEVV?= =?utf-8?B?ZlBLRHpLdm95M0VEU3RjaEs3VXl2MXBBam90NDE2bEJjQUJ1QjNtQm1McTk0?= =?utf-8?B?WGUxNVRNQ1NhQUtUdGh3ejBjcUIzODFlWWZGTjNnd0VTRS8rZzM1ZU5LYzdM?= =?utf-8?B?Y2NGWjFIVWtPMkxFeUdNa2dTMjZIb2FveUZWRCtFb3BZMk1BSjkySzQzZ0ox?= =?utf-8?B?akJnd3hoMmQyRlR0dHVZb0M0bHlPL1VCTHVObVhvUnc5NWRnWkdUY1hZSEgz?= =?utf-8?B?UXFlZkRhVTdHSXBNRlVFeHdrNW9TN0x4L1dlYlhPVHdnNUFaM20wcHdaWTV3?= =?utf-8?B?eC9DaEQzZlQ4ZzhOWGpiSHg3UUFMNUxuMklaa3FqK283d1NCMmpJSTNubTRa?= =?utf-8?B?VVZRTVFqQ091OXBEcVdVYWVoTFJUUytIT0tmT0dCT0dDSGZiK1ZJTnBqWlpq?= =?utf-8?B?WlhKTFRtQklJamtmdTE5YXZiY3UvRHI5QzJzQmQxM3dURURBRWJVT2FqZjZH?= =?utf-8?B?aGl5NzRkZ0JQS09WbFZsdmNCeHhuVkRqZmNsbTJoMTlFTHgrRXRiT2UvTGFt?= =?utf-8?B?S1RBZTR0TzB4cnZQR3hmZkY1c21rR1B0ZC9VckR0Rng5U21OSTFRTkswSUVW?= =?utf-8?B?QW10UVVlcE84V0c5MmxQWkFKZzNvNFpIcXpRTkRzWkdEbDZaRko2K29vdkdz?= =?utf-8?B?eVorNlFEVFdUN1dsdFpxbEVpMVNBQm1HNGtzUmxnNE1rYklrWEtiaG5Mb3pl?= =?utf-8?B?bTVDVkVCWWlrUmErbCtGYWQ5MjlMWE5Ya1dDNllOM3hWNzNsZ0FSRm83U0Rt?= =?utf-8?B?S0R3Lzc3K1d0eURxNjQ4UTRzWXBhVURWVTg1WHB2bVUvY0M4K05sUnVSakxF?= =?utf-8?Q?p3oc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB7989.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c3lGQWR3TEtuWWRLY1ZHZ0Y1LzhxMEdtRExsSUl0T3NPd3czcGNpdCt2SmFQ?= =?utf-8?B?RlE1dXJCd2ZwSmtPMG41blFnS2NCOHpSYnJOU0VSWUJYUjFqNXg2TUE0ejlq?= =?utf-8?B?Q0F3RUN0cElZUXgxZkdTNkdMS2NONmcxRUxMaVM5N1M1SGJxRVA4dDdONWUy?= =?utf-8?B?NDQzOHM0Yzdhdi9Qa2pZVGZWMWZ3MXk4VHV6N3gyd0ZyS0hrcDhiaWRld2p6?= =?utf-8?B?UXA0VUpZZ09zV3BhVnlIbXF2bnlMU25YK3VzeDBkeDJDanM5OHhPNE8wN3FT?= =?utf-8?B?d28vWFZYUTJucXRGdUplN3QrcFU1TkNZVXNLL3NKWlBQUVZaYU0wTTZDTTB3?= =?utf-8?B?NHNGbjEvQjE1RkpZa0F4WTI1dkRFR0RuQUxaN3hJRXNQbGNPQVR6a0tkNzl1?= =?utf-8?B?QXhwRkE2dk41bmwzRU1YUE1tMHo2SXhVVzB0VU1PVWZWR2dPQk1MeDdaaGx0?= =?utf-8?B?dUxMSms5UmRHMkx0VFYzS3YxUUpyRituN0ZNVnBJNWtYUVU4M2VuN2N1OG53?= =?utf-8?B?MVk3ZzhiWnB1UzYxZ3JRc0plZUxVejFNLytHUzlmTCsvQjV4WTUvS1p4RGNu?= =?utf-8?B?N21MSGdzNVRPZThUVlFNaDB4RmNBSExSWkgwdjNoZENQNnM5YStDdlpiNlU2?= =?utf-8?B?TFlHc0RYSWRPY3dNcjFEbFAwYWlXS0diTldmbjZNTDZsRkJZK0hqUTQ4aW9L?= =?utf-8?B?U2t6TVZ0eDRlSkV4SS9sYWh6bHFlRnRWWjJDMHluOHh0K2kzZUplVDZ0ZkFW?= =?utf-8?B?aFUwVm5NNmpGUkNCeEJxRytUMmVFOGFtRG12RGo5WC9aRDNmaVJEZEZES0JU?= =?utf-8?B?Yi9ZQUUvbkRtWXNKL3hrNDlSazNJZlorcUpGQW1JUUdacVpaeXd1dnNqSWE4?= =?utf-8?B?UytBSWlYdjhlY3dHYXhBNisvMUwvNWNzYnNEZDhYcnhQODdENGhkaVpkNm9P?= =?utf-8?B?SVBybFh5Wng2bGRLQXRTcEFubWd6blJrM0Nhak9zWkZIb3BQcTQzajc3Rm9Q?= =?utf-8?B?YTNDZE1pcm9nNU5BQkJ3OUNod3V0Q3d2R1BaVms1VHhXUVc1cnZwazFObW1o?= =?utf-8?B?OU0vbFB6b08rUmJKZ0crazk4emtWenVHRWt1aFMyRHE2ZE5IRFk0aVdreStD?= =?utf-8?B?UWc5YXZjanZEVXprdllwUjhWbXhoc1RaekZReGV5MlJUTi95UlJZS09sVk1i?= =?utf-8?B?T0l2bWQwNzZQV1V1ZDViVmhHNVJCU0JlNlBENFhaVW1kOWVSTVZNVjJMZTZU?= =?utf-8?B?MUh1N0xkRzZ1bGZZbFJJTTVhbGEwM1RybGRybk81MXJWZlZPSUt6emNxOUpH?= =?utf-8?B?QXhLNU1UNDJZMEFYMGEwek1HZHd6SmgzWjZCVXBQVEdWUC80bjMxZG4zaXdD?= =?utf-8?B?Q3NSb25PTDlKa2xjUW9hVGVLK05qVjlKUlc4WlFncXRkZ1NTNzkwVEJqbUlL?= =?utf-8?B?aUVqeEJTcXhTRXE1d3VjMkpjTklOSlpKK3JrYldtUVJTMWordUY5MUZua2sw?= =?utf-8?B?UnN6Qnl3WmpBYTBzRjNCYlZaQktSZHU5VVJ0TVhkOTg3dzgvMldVdEdpcU9N?= =?utf-8?B?TTdJTHNROVBQa0tlc2NUMjF5ZnRkYUdkUUZaYlcrbG9WU0NaRTJpc01XaXE1?= =?utf-8?B?Vzd5dVYvLzNTd0FIQU5kSko1SXpSVlh1NFJpVHI4dERmSktYcnM2eXBNNklp?= =?utf-8?B?akRCaTlzbmZKM1oyZTNGUXE2clRlQVJ1Tk5id2ZFMjFtR0lUbHdPMjA0SGFu?= =?utf-8?B?UTZwdFpxZ0VYek9qT0QyTGpuL0hybmphanpUY0pWbVEvWGJzVjgvZEpDckJl?= =?utf-8?B?c3QrS3dTMlNqRUtPZkhla09xU1N0VWtaWi9mTDNjYnR3SVVkc2NRd0ptVVZ6?= =?utf-8?B?R091R2VMdWhaelNtYUw2VmxkU1BwZTVpWGlSMFFEVGRaZ3FldjRtYkk2OHQ0?= =?utf-8?B?cnhPM28yRUZSN0VHT0FMZFJjQkU0ZGtqN0RoRi9nc2tNMTJKd1EyUmNHenRi?= =?utf-8?B?UXhJTC9xb3l6ZlBQMGpHOFJTemM3aURhN3N3blhxRWt2bE9sT2ZWbFBJdHdj?= =?utf-8?B?NGxoTG0zOHZyd0gwQXJJUE9Mc25tdm0yZWxxR3k0Sk50WGVzM1JwQkpLY1Ru?= =?utf-8?B?UWNrWEhyUVRrZDVOZHdYeXc4MUhiSkZzcXhMYmFCWWpGcDRHQm5xUGF5Y2xU?= =?utf-8?B?SHpDWWlhYWJMTjFOekRqWTVPYnBrOHc3UjVNOXhmV3ZaSmxWeVlYUVVuY2xW?= =?utf-8?B?aFhzZFJnZ2U3NEJ6djdiZis4RVoraCtqMGdQS050cklDY0Z4S2J5bWNnVGpt?= =?utf-8?B?YkVrWmpBT1JmYkN5NlgvVzJNdlJrVVc2VXNCL0xYb2R4TlNRcWdoUT09?= X-MS-Exchange-CrossTenant-Network-Message-Id: 7040d84f-1276-4d73-e4c9-08de6b2cdb98 X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB7989.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2026 18:22:34.2084 (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: XYiDxhtrOhfx7QuM/4rloEf3H+K2rc+mLHD1n0HMX7BHaIb1tHR/q3YRzCGgCc3nrIz++CmPpLuLwHI28VvTpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7458 X-OriginatorOrg: intel.com On 2/13/2026 2:02 AM, Maciej Wieczor-Retman wrote: > On 2026-02-12 at 16:28:10 -0800, Sohil Mehta wrote: >> On 2/12/2026 7:35 AM, Maciej Wieczor-Retman wrote: >> >>> >>> +const char *x86_cap_name(unsigned int bit) >>> +{ >>> + unsigned int word = bit >> 5; >>> + static char undef_buf[16]; >>> + const char *name = NULL; >>> + >>> + if (likely(word < NCAPINTS)) >>> + name = x86_cap_flags[bit]; >>> + else if (likely(word < NCAPINTS + NBUGINTS)) >>> + name = x86_bug_flags[bit - 32 * NCAPINTS]; >>> + >>> + if (name) >>> + return name; >>> + >>> + snprintf(undef_buf, sizeof(undef_buf), "%u:%u", word, bit & 31); >>> + return undef_buf; >>> +} >>> + >> >> Isn't it unsafe to return undef_buf because the pointer is local to this >> function even though it is marked static? >> >> For example, the consecutive calls below would overwrite the value >> stored at that address. > > I just rechecked and after I caused that pr_warn_once() to be executed the > strings are printed correctly. > The issue would only happen if both d->feature and d->depends don't have anything in x86_cap_flags[]. Was that true for your test? > Looking a bit further down, the pointers of the returned const char* are two > distinct values. So I assume because there are two calls to x86_cap_name() in > the pr_warn_once() the two static undef_buf char arrays are statically allocated > and there is no overwriting, but please correct me if that assumption is wrong. > I don't think it works that way. As the variable is defined as "static", only a single undef_buf is allocated. So the same pointer should be returned after every call. I added the below dependency and it prints the same feature twice. "x86 CPU feature dependency check failure: CPU0 has '12:19' enabled but '12:19' disabled. Kernel..." diff --git a/arch/x86/kernel/cpu/cpuid-deps.c b/arch/x86/kernel/cpu/cpuid-deps.c index 1106a5476dca..51c482c18a2c 100644 --- a/arch/x86/kernel/cpu/cpuid-deps.c +++ b/arch/x86/kernel/cpu/cpuid-deps.c @@ -93,6 +93,7 @@ static const struct cpuid_dep cpuid_deps[] = { { X86_FEATURE_FRED, X86_FEATURE_LKGS }, { X86_FEATURE_SPEC_CTRL_SSBD, X86_FEATURE_SPEC_CTRL }, { X86_FEATURE_LASS, X86_FEATURE_SMAP }, + { X86_FEATURE_WRMSRNS, X86_FEATURE_FZRM}, {} }; >>> pr_warn_once("x86 CPU feature dependency check failure: CPU%d has '%s' enabled but '%s' disabled. Kernel might be fine, but no guarantees.\n", >>> smp_processor_id(), >>> - x86_feature_name(d->feature, feature_buf), >>> - x86_feature_name(d->depends, depends_buf)); >>> + x86_cap_name(d->feature), >>> + x86_cap_name(d->depends)); >>> } >>> } >>> } >