From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.zytor.com (terminus.zytor.com [198.137.202.136]) (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 BF8AE1A724C for ; Tue, 31 Mar 2026 02:32:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.136 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774924364; cv=none; b=MbS1tol5v6FZYq8vSWg/j5TJKnU2cKD8Y2VW3wRDGVikRWuHqhc327/YrcrpSUXjXd3RBdqePLEKI9O0q4G3TsKzLk01RmpRxtOyN/HoFTzf8XpPxo5XNqzyXDWU/LF2xDwisTDwMasdEUD8yaVoX7vD8mmw07YshEAc8M+mdwc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774924364; c=relaxed/simple; bh=C6J+57jcUgGLMfnS7tXYXihSJns7DndP53Rwf6zvB9M=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:From:To:Cc: References:In-Reply-To; b=EpAsfia+6tgT6mUXjV7fr+d4xQI+FsQ6hqfRK0IVWV+DqVh5EeMG39gyp+YfCRA2uYiurSDE4Pr/sPDSr9i5FaPtfoMiA3PZoDJVPgaYAiUIhK34Ns0FgIzab9fQBiKn2PrqYp5dzm7zJ85O7/vjB2Rb/ewtq4P7pUNCl/mi4aY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com; spf=pass smtp.mailfrom=zytor.com; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b=SHYFM0H/; arc=none smtp.client-ip=198.137.202.136 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=zytor.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zytor.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=zytor.com header.i=@zytor.com header.b="SHYFM0H/" Received: from [172.27.2.41] (c-76-133-66-138.hsd1.ca.comcast.net [76.133.66.138]) (authenticated bits=0) by mail.zytor.com (8.18.1/8.17.1) with ESMTPSA id 62V2FmcZ3102804 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO); Mon, 30 Mar 2026 19:15:48 -0700 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 62V2FmcZ3102804 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com; s=2026032601; t=1774923351; bh=LV8GfF2wL4lGxv2geXcQwgoTWQT9OLE6mLdoNJFSsvM=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=SHYFM0H/sLdnSwqUPe4VuTvkzZnN2fSZooWFkBVlPnWTHzNa1dOCYlfuIe07jrlV7 tHm/l+dowKZkj6frYm9FI33y81K6vfkDMFC6iFk5rLOCW36jpQdaiLlH2+Yu2NfgmT qVt396gIZbMzbbiFRrH1KCz8JkwMqKbLnflX6wiR0/Xh3FfKWRAf3KFmeRZ29mbdrh 97X5RYQ6ydwB1RYogrd75FtSqYvpKXeKHrBb59ICHFr1Vy2tBLwZ/vN7cppNVlImwe opDD2bypOsWp1QnPpchI1o5jr1vEmKhcPHf1IDJh+k1iwYKs5SrkvGPLu3rqOfbAla WerL9pZ7uv1ug== Content-Type: multipart/mixed; boundary="------------2uyWXbBs0v0eBVukB2gi9zIN" Message-ID: <434e2706-66b9-490b-a379-0c6ee8dfc3e4@zytor.com> Date: Mon, 30 Mar 2026 19:15:42 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v12 2/4] x86/cpu: Check if feature string is non-zero From: "H. Peter Anvin" To: Borislav Petkov Cc: Maciej Wieczor-Retman , dave.hansen@linux.intel.com, xin@zytor.com, chang.seok.bae@intel.com, mingo@redhat.com, elena.reshetova@intel.com, maciej.wieczor-retman@intel.com, babu.moger@amd.com, sohil.mehta@intel.com, pawan.kumar.gupta@linux.intel.com, pmladek@suse.com, nik.borisov@suse.com, ptesarik@suse.com, darwi@linutronix.de, tglx@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, ak@linux.intel.com, linux-kernel@vger.kernel.org, x86@kernel.org References: <20260330200045.GUacrWbcsBhp9a-kfb@fat_crate.local> <20260330211511.GIacrn373-FN3Yy_p4@fat_crate.local> <3CFC48BC-615C-4A39-A660-2B348DF13B9E@zytor.com> <20260330225915.GKacsAQ6o_LuNY0hbc@fat_crate.local> <5dda018c-9d7d-47ca-a414-cf2593813042@zytor.com> Content-Language: en-US, sv-SE In-Reply-To: <5dda018c-9d7d-47ca-a414-cf2593813042@zytor.com> This is a multi-part message in MIME format. --------------2uyWXbBs0v0eBVukB2gi9zIN Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 2026-03-30 16:42, H. Peter Anvin wrote: > On 2026-03-30 15:59, Borislav Petkov wrote: >> On Mon, Mar 30, 2026 at 02:44:56PM -0700, H. Peter Anvin wrote: >>> The Right Thing™ would be to have a table in the kernel which includes *all* >>> the feature bit names, not just the ones exported to /proc/cpuinfo, and use >>> the unfiltered string table for kernel messages (/proc/cpuinfo being >>> filtered via a bitmask, list, or a flag in the table.) >> >> Meh, not convinced. Not sure it is worth the effort and bloating if we can >> simply look up the feature from word and bit number. >> > > Bloating? Drop in the bucket compared to other kernel messages. Getting kernel > messages in cleartext is a good thing. > > It's testing a flag... not exactly complicated, just didn't want Maciej to > complicate this one patchset with it. > The main issue is that since we're not allowed to use *sane* scripting languages in the kernel tree, we have to do everything in the POSIX subset of awk -- or in C. Anyway, here is a hacky and mostly untested port of mkcapflags.sh to awk which also produces an export bitmask. Another alternative would be to simply put a prefix character like + or - which can simply be skipped for kernel messages but tested for /proc/cpuinfo generation. Definitely simpler in that there is no need to haul two pointers around. -hpa --------------2uyWXbBs0v0eBVukB2gi9zIN Content-Type: application/x-awk; name="mkcapflags.awk" Content-Disposition: attachment; filename="mkcapflags.awk" Content-Transfer-Encoding: base64 IyEvdXNyL2Jpbi9hd2sKIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAojCiMg R2VuZXJhdGUgdGhlIHg4Nl9jYXAvYnVnX2ZsYWdzW10gYXJyYXlzIGZyb20gaW5jbHVkZS9h c20vY3B1ZmVhdHVyZXMuaAojCgpCRUdJTiB7CglGUz0iWyBcdF0rIjsKCW1jb3VudCA9IDA7 Cn0KCiMgR2VuZXJhdGUgYSBsaXN0IG9mIHRva2VucyBtYXRjaGluZyAoYXMgb3Bwb3NlZCB0 byBzZXBhcmF0ZWQgYnkpIGEgcmVnZXguCmZ1bmN0aW9uIHNwbGl0X2J5X3JlZ2V4KHN0ciwg cmUsIGZpZWxkcywgX3JzLCBfcmwsIF9uKQp7CglfcnMgPSBSU1RBUlQ7CglfcmwgPSBSTEVO R1RIOwoJZGVsZXRlIGZpZWxkczsKCV9uID0gMDsKCXdoaWxlIChtYXRjaChzdHIsIHJlKSA+ IDApIHsKCQlmaWVsZHNbKytfbl0gPSBzdWJzdHIoc3RyLCBSU1RBUlQsIFJMRU5HVEgpOwoJ CXN0ciA9IHN1YnN0cihzdHIsIFJTVEFSVCtSTEVOR1RIKTsKCX0KCVJTVEFSVCA9IF9yczsK CVJMRU5HVEggPSBfcmw7CglyZXR1cm4gX247Cn0KCiQxID09ICIjZGVmaW5lIiAmJiBORiA+ PSAyIHsKCW5hbWUgPSAkMjsKCW1hY3JvWysrbWNvdW50XSA9IG5hbWU7CglwdWJsaWNbbmFt ZV0gPSAwOwoJbmYgPSBzcGxpdF9ieV9yZWdleCgkMCwgIihbI2EtekEtWjAtOV9dK3xcXChb XlxcKV0rXFwpfFxcL1xcKi4qXFwqXFwvKSIsIGYpOwoJZm9yIChpID0gMzsgaSA8PSBuZjsg aSsrKSB7CgkJaWYgKGZbaV0gfiAvXlswLTldKyQvKSB7CgkJCXZhbFtuYW1lXSA9IDAgKyBm W2ldOwoJCX0gZWxzZSBpZiAoZltpXSB+IC9eXChbMC05IFx0XStcKlswLTkgXHRdK1wrWzAt OSBcdF0rXCkkLykgewoJCQlzeCA9IGZbaV07CgkJCXNwbGl0KHN4LCBheCwgL1teMC05XSsv KTsKCQkJdmFsW25hbWVdID0gYXhbMl0qYXhbM10gKyBheFs0XTsKCQl9IGVsc2UgaWYgKGZb aV0gfiAvXlwvXCovICYmIG1hdGNoKGZbaV0sIC8iW14iXSoiLykpIHsKCQkJdGFnW25hbWVd ID0gc3Vic3RyKGZbaV0sIFJTVEFSVCsxLCBSTEVOR1RILTIpOwoJCQlwdWJsaWNbbmFtZV0g PSAxOwoJCX0KCX0KCWlmICh0YWdbbmFtZV0gPT0gIiIgJiYgbWF0Y2gobmFtZSwgL14oW15f XStfKXsyfS8pKSB7CgkJdGFnW25hbWVdID0gc3Vic3RyKG5hbWUsIFJTVEFSVCtSTEVOR1RI KTsKCX0KfQoKRU5EIHsKCXRhYmxlc1sxXSA9ICJ4ODZfY2FwX2ZsYWdzIFg4Nl9GRUFUVVJF XyBOQ0FQSU5UUyI7Cgl0YWJsZXNbMl0gPSAieDg2X2J1Z19mbGFncyBYODZfQlVHXyBOQlVH SU5UUyI7Cgl0YWJsZXNbM10gPSAieDg2X3ZteF9mbGFncyBWTVhfRkVBVFVSRV8gTlZNWElO VFMiOwoKCXByaW50ZiAiI2lmbmRlZiBfQVNNX1g4Nl9DUFVGRUFUVVJFU19IXG4iOwoJcHJp bnRmICIjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmVzLmg+XG4iOwoJcHJpbnRmICIjZW5kaWZc blxuIjsKCglwcmludGYgIiNpZmRlZiBDT05GSUdfWDg2X1ZNWF9GRUFUVVJFX05BTUVTXG4i OwoJcHJpbnRmICIjaWZuZGVmIF9BU01fWDg2X1ZNWEZFQVRVUkVTX0hcbiI7CglwcmludGYg IiNpbmNsdWRlIDxhc20vdm14ZmVhdHVyZXMuaD5cbiI7CglwcmludGYgIiNlbmRpZlxuIjsK Cglmb3IgKHRhYmxlIGluIHRhYmxlcykgewoJCXNwbGl0KHRhYmxlc1t0YWJsZV0sdCk7CgkJ bCA9IGxlbmd0aCh0WzJdKTsKCQlkZWxldGUgcG07CgkJd29yZHMgPSB2YWxbdFszXV07CgkJ d29yZHMgKz0gd29yZHMgJSAyOyAjIFBhZCB0byA2NCBiaXRzCgkJZm9yIChpID0gMDsgaSA8 IHdvcmRzOyBpKyspCgkJCXBtW2ldID0gMDsKCQlwcmludGYgIlxuI2lmZGVmICVzXG5cbiIs IHRbM107CgkJcHJpbnRmICJjb25zdCBjaGFyICogY29uc3QgJXNbJXMqMzJdID0ge1xuIiwg dFsxXSwgdFszXTsKCQlmb3IgKG4gPSAxOyBuIDw9IG1jb3VudDsgbisrKSB7CgkJCW0gPSBt YWNyb1tuXTsKCQkJaWYgKHN1YnN0cihtLCAxLCBsKSA9PSB0WzJdICYmIHRhZ1ttXSkgewoJ CQkJdiA9IHZhbFttXTsKCQkJCXcgPSBpbnQodi8zMik7CgkJCQliID0gdiAlIDMyOwoJCQkJ cHJpbnRmICJcdFslMmQqMzIrJTJkXSA9IFwiJXNcIixcbiIsCgkJCQkJdywgYiwgdG9sb3dl cih0YWdbbV0pOwoJCQkJaWYgKHB1YmxpY1ttXSkKCQkJCQlwbVt3XSArPSAyXmI7CgkJCX0K CQl9CgkJcHJpbnRmICJ9O1xuIjsKCQlwcmludGYgImNvbnN0IHUzMiAlc19leHBvcnRfbWFz a1slZF0gPSB7XG4iLCB0WzFdLCB3b3JkczsKCQlmb3IgKGkgPSAwOyBpIDwgd29yZHM7IGkr KykgewoJCQlwcmludGYgIlx0MHglMDh4LFxuIiwgcG1baV07CgkJfQoJCXByaW50ZiAifTtc blxuIjsKCQlwcmludGYgIiNlbmRpZiAvKiAlcyAqL1xuIiwgdFszXTsKCX0KfQo= --------------2uyWXbBs0v0eBVukB2gi9zIN--