From: "Ahmed S. Darwish" <darwi@linutronix.de>
To: Borislav Petkov <bp@alien8.de>
Cc: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Cooper <andrew.cooper3@citrix.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Christian Ludloff <ludloff@gmail.com>,
Sohil Mehta <sohil.mehta@intel.com>,
John Ogness <john.ogness@linutronix.de>,
x86@kernel.org, x86-cpuid@lists.linux.dev,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v7 013/120] x86/cpu: Use parsed CPUID(0x80000000)
Date: Tue, 2 Jun 2026 15:28:36 +0200 [thread overview]
Message-ID: <ah7ahOrmPfhX_7bT@lx-t490> (raw)
In-Reply-To: <20260602012205.GEah4wPes4qegK9T9K@fat_crate.local>
On Mon, 01 Jun 2026, Borislav Petkov wrote:
>
> On Mon, Jun 01, 2026 at 07:34:03PM +0200, Maciej Wieczor-Retman wrote:
> > I think at this point in the series 'c' is not initialized if you follow:
> >
> > microcode_check()
> > -> store_cpu_caps()
> > -> get_cpu_cap()
>
> How do you mean?
>
> the el0 in get_cpu_cap() uses the already parsed during early boot leaf while
> microcode_check() is the late microcode loading path which happens when the
> admin sets it in motion.
>
> Or what am I missing?
>
He is correct.
microcode_check(struct cpuinfo_x86 *prev_info) {
struct cpuinfo_x86 curr_info;
...
store_cpu_caps(&curr_info);
}
store_cpu_caps(struct cpuinfo_x86 *curr_info) {
// Unlike x86_capability[], the CPUID table contents are not copied
memcpy(&curr_info->x86_capability, &boot_cpu_data.x86_capability, ...);
get_cpu_cap(curr_info);
}
get_cpu_cap(struct cpuinfo_x86 *c) {
...
// Output extraction from an un-initialized stack space
el0 = cpuid_leaf(c, 0x80000000);
}
I'll fix it.
Thanks,
Ahmed
next prev parent reply other threads:[~2026-06-02 13:28 UTC|newest]
Thread overview: 174+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 15:37 [PATCH v7 000/120] x86: Introduce a centralized CPUID data model Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 001/120] treewide: Explicitly include the x86 CPUID headers Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 002/120] x86/cpu: <asm/processor.h>: Do not include the CPUID API header Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 003/120] x86/cpuid: Rename cpuid_leaf()/cpuid_subleaf() APIs Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 004/120] x86/cpuid: Introduce <asm/cpuid/leaf_types.h> Ahmed S. Darwish
2026-06-01 14:30 ` Maciej Wieczor-Retman
2026-06-01 19:41 ` Borislav Petkov
2026-06-01 19:53 ` Ahmed S. Darwish
2026-06-01 20:34 ` Borislav Petkov
2026-06-01 21:24 ` Ahmed S. Darwish
2026-06-01 22:53 ` Borislav Petkov
2026-06-02 16:12 ` Maciej Wieczor-Retman
2026-06-02 17:47 ` Borislav Petkov
2026-06-02 18:15 ` Maciej Wieczor-Retman
2026-06-02 20:36 ` Ahmed S. Darwish
2026-06-02 21:15 ` Ahmed S. Darwish
2026-06-03 0:31 ` Borislav Petkov
2026-06-08 6:39 ` Ahmed S. Darwish
2026-06-08 14:49 ` Borislav Petkov
2026-06-08 21:30 ` Christian Ludloff
2026-06-08 23:04 ` Borislav Petkov
2026-06-12 19:21 ` Ahmed S. Darwish
2026-06-12 19:17 ` Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 005/120] x86/cpu: Introduce a centralized CPUID data model Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 006/120] x86/cpuid: Introduce a centralized CPUID parser Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 007/120] x86/cpu: centaur/zhaoxin: Rescan CPUID(0xc0000001) after MSR writes Ahmed S. Darwish
2026-05-28 16:49 ` Borislav Petkov
2026-05-28 17:33 ` Ahmed S. Darwish
2026-05-28 18:03 ` Ahmed S. Darwish
2026-05-28 21:24 ` Borislav Petkov
2026-05-28 15:37 ` [PATCH v7 008/120] x86/cpu/transmeta: Rescan CPUID(0x1) after capability unhide Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 009/120] x86/cpu: Use parsed CPUID(0x0) Ahmed S. Darwish
2026-05-30 2:29 ` Borislav Petkov
2026-06-01 19:54 ` Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 010/120] x86/lib: Add CPUID(0x1) family and model calculation Ahmed S. Darwish
2026-05-30 21:43 ` Borislav Petkov
2026-06-01 19:54 ` Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 011/120] x86/cpu: Use parsed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 012/120] x86/cpuid: Parse CPUID(0x80000000) Ahmed S. Darwish
2026-06-01 22:22 ` Borislav Petkov
2026-06-02 13:40 ` Ahmed S. Darwish
2026-06-02 17:12 ` Borislav Petkov
2026-05-28 15:37 ` [PATCH v7 013/120] x86/cpu: Use parsed CPUID(0x80000000) Ahmed S. Darwish
2026-06-01 17:34 ` Maciej Wieczor-Retman
2026-06-02 1:22 ` Borislav Petkov
2026-06-02 13:28 ` Ahmed S. Darwish [this message]
2026-06-02 17:10 ` Borislav Petkov
2026-06-12 19:49 ` Ahmed S. Darwish
2026-06-02 1:23 ` Borislav Petkov
2026-05-28 15:37 ` [PATCH v7 014/120] x86/cpuid: Parse CPUID(0x80000002) to CPUID(0x80000004) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 015/120] x86/cpu: Use parsed " Ahmed S. Darwish
2026-06-10 19:56 ` Borislav Petkov
2026-06-12 20:10 ` Ahmed S. Darwish
2026-06-11 9:37 ` David Laight
2026-06-12 20:10 ` Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 016/120] x86/cpuid: Split parser tables and add vendor-qualified parsing Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 017/120] x86/cpuid: Introduce a parser debugfs interface Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 018/120] x86/cpuid: Parse CPUID(0x16) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 019/120] x86/tsc: Use parsed CPUID(0x16) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 020/120] x86/cpuid: Parse Transmeta and Centaur extended ranges Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 021/120] x86/cpu/transmeta: Use parsed CPUID(0x80860000)->CPUID(0x80860006) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 022/120] x86/cpu/transmeta: Refactor CPU information printing Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 023/120] x86/cpu/centaur: Use parsed CPUID(0xc0000001) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 024/120] x86/cpu/zhaoxin: " Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 025/120] x86/cpuid: Parse CPUID(0x2) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 026/120] x86/cpuid: Warn once on invalid CPUID(0x2) iteration count Ahmed S. Darwish
2026-06-01 17:36 ` Maciej Wieczor-Retman
2026-05-28 15:37 ` [PATCH v7 027/120] x86/cpuid: Introduce parsed CPUID(0x2) API Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 028/120] x86/cpu: Use parsed CPUID(0x2) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 029/120] x86/cacheinfo: " Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 030/120] x86/cpuid: Remove direct CPUID(0x2) query helpers Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 031/120] x86/cpuid: Parse deterministic cache parameters CPUID leaves Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 032/120] x86/cacheinfo: Pass a 'struct cpuinfo_x86' reference to CPUID(0x4) code Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 033/120] x86/cacheinfo: Use parsed CPUID(0x4) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 034/120] x86/cacheinfo: Use parsed CPUID(0x8000001d) Ahmed S. Darwish
2026-06-01 13:42 ` Maciej Wieczor-Retman
2026-06-01 19:59 ` Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 035/120] x86/cpuid: Parse CPUID(0x80000005), CPUID(0x80000006), CPUID(0x80000008) Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 036/120] x86/cacheinfo: Use auto-generated data types Ahmed S. Darwish
2026-05-28 15:37 ` [PATCH v7 037/120] x86/cacheinfo: Use parsed CPUID(0x80000005) and CPUID(0x80000006) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 038/120] x86/cacheinfo: Use parsed CPUID(0x80000006) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 039/120] x86/cpu: Use parsed CPUID(0x80000005) and CPUID(0x80000006) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 040/120] x86/cpu/amd: Use parsed CPUID(0x80000005) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 041/120] x86/cpu/amd: Refactor TLB detection code Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 042/120] x86/cpu/amd: Use parsed CPUID(0x80000005) and CPUID(0x80000006) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 043/120] x86/cpu/hygon: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 044/120] x86/cpu/centaur: Use parsed CPUID(0x80000005) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 045/120] x86/cpu: Use parsed CPUID(0x80000008) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 046/120] x86/apic: Use parsed and refreshed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 047/120] x86/cpu/amd: Refactor CPUID(0x1) level calculation Ahmed S. Darwish
2026-05-28 22:42 ` Christian Ludloff
2026-06-02 13:58 ` Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 048/120] x86/mce: core: Use parsed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 049/120] x86/mce: inject: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 050/120] x86/microcode/amd: Use standard CPUID(0x1) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 051/120] x86/microcode/amd: rdrand: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 052/120] x86/microcode/intel: Explain CPUID parser APIs unavailability Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 053/120] x86/mm/pti: Use standard CPUID(0x1) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 054/120] x86/xen: Use parsed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 055/120] x86/xen: Use standard CPUID(0x1) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 056/120] agp/efficeon: Use parsed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 057/120] dmaengine: ioatdma: Remove custom UP local APID IC code Ahmed S. Darwish
2026-06-01 13:48 ` Maciej Wieczor-Retman
2026-05-28 15:38 ` [PATCH v7 058/120] RAS/AMD/FMPM: Use parsed CPUID(0x1) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 059/120] x86/cpuid: Parse CPUID(0x5) Ahmed S. Darwish
2026-06-01 14:20 ` Maciej Wieczor-Retman
2026-05-28 15:38 ` [PATCH v7 060/120] x86/acpi/cstate: Remove superfluous retval logic Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 061/120] x86/acpi/cstate: Clarify unsupported MWAIT hint warning Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 062/120] x86/acpi/cstate: Use MWAIT helper macros Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 063/120] x86/acpi: Use parsed CPUID(0x5) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 064/120] x86/process: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 065/120] x86/hpet: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 066/120] ACPI: PAD: Use Parsed CPUID(0x5) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 067/120] intel_idle: Use parsed CPUID(0x5) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 068/120] x86/idle: Remove unused CPUID(0x5) symbols Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 069/120] x86/cpuid: Parse CPUID(0x6), CPUID(0x9), and CPUID(0x15) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 070/120] thermal: intel: hfi: Use parsed CPUID(0x6) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 071/120] dmaengine: ioatdma: Use parsed CPUID(0x9) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 072/120] ASoC: Intel: avs: Use parsed CPUID(0x15) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 073/120] perf/x86/intel: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 074/120] x86/cpuid: Introduce cpuid_subleaf_raw() Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 075/120] x86/cpuid: Parse CPUID(0x12) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 076/120] x86/sgx/driver: Use parsed CPUID(0x12) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 077/120] x86/sgx: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 078/120] KVM: x86: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 079/120] KVM: VMX: Use standard CPUID(0x12) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 080/120] x86/sgx: Move unused CPUID(0x12) symbols Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 081/120] x86/cpuid: Parse CPUID(0xa) and CPUID(0x1c) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 082/120] x86/cpu/intel: Use parsed CPUID(0xa) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 083/120] x86/cpu/centaur: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 084/120] x86/cpu/zhaoxin: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 085/120] perf/x86/intel: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 086/120] perf/x86/zhaoxin: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 087/120] x86/xen: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 088/120] KVM: x86: Use standard CPUID(0xa) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 089/120] KVM: x86/pmu: " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 090/120] perf/x86: Remove custom " Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 091/120] perf/x86/lbr: Use parsed CPUID(0x1c) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 092/120] perf/x86/lbr: Remove custom CPUID(0x1c) types Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 093/120] x86/cpuid: Parse CPUID(0x23) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 094/120] perf/x86/intel: Use parsed per-CPU CPUID(0x23) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 095/120] perf/x86/intel: Remove custom CPUID(0x23) types Ahmed S. Darwish
2026-06-01 14:00 ` Maciej Wieczor-Retman
2026-05-28 15:38 ` [PATCH v7 096/120] x86/cpuid: Parse CPUID(0x80000022) Ahmed S. Darwish
2026-05-28 15:38 ` [PATCH v7 097/120] perf/x86/amd/lbr: Use parsed CPUID(0x80000022) Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 098/120] perf/x86/amd: " Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 099/120] KVM: x86: Use standard CPUID(0x80000022) types Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 100/120] perf/x86: Remove custom " Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 101/120] x86/cpuid: Parse CPUID(0x80000007) Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 102/120] x86/cpu: Use parsed CPUID(0x80000007) Ahmed S. Darwish
2026-05-28 22:52 ` Christian Ludloff
2026-05-28 15:39 ` [PATCH v7 103/120] x86/cpu: amd/hygon: " Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 104/120] x86/cpu: cpuinfo: " Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 105/120] KVM: x86: " Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 106/120] x86/microcode: Allocate cpuinfo_x86 snapshots on the heap Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 107/120] x86/cpuid: Parse leaves backing X86_FEATURE words Ahmed S. Darwish
2026-06-02 18:26 ` Maciej Wieczor-Retman
2026-06-12 20:22 ` Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 108/120] x86/cpuid: Parse Linux synthetic CPUID leaves Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 109/120] x86/cpuid: Introduce a compile-time X86_FEATURE word map Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 110/120] x86/cpuid: Introduce X86_FEATURE and CPUID word APIs Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 111/120] x86/percpu: Add offset argument to x86_this_cpu_test_bit() Ahmed S. Darwish
2026-06-01 18:07 ` Maciej Wieczor-Retman
2026-06-12 20:29 ` Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 112/120] x86/cpufeature: Factor out a __static_cpu_has() helper Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 113/120] x86/asm/32: Cache CPUID(0x1).EDX in cpuid_table Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 114/120] x86: Route all feature queries to the CPUID tables Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 115/120] x86/cpu: Remove x86_capability[] and x86_power initialization Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 116/120] x86/cpu/transmeta: Remove x86_capability[] CPUID initialization Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 117/120] x86/cpu: centaur/zhaoxin: Remove x86_capability[] initialization Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 118/120] KVM: x86: Remove BUILD_BUG_ON() x86_capability[] check Ahmed S. Darwish
2026-06-01 14:10 ` Maciej Wieczor-Retman
2026-05-28 15:39 ` [PATCH v7 119/120] x86/cpu: Remove x86_capability[] and x86_power Ahmed S. Darwish
2026-05-28 15:39 ` [PATCH v7 120/120] MAINTAINERS: Extend x86 CPUID DATABASE file coverage Ahmed S. Darwish
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ah7ahOrmPfhX_7bT@lx-t490 \
--to=darwi@linutronix.de \
--cc=andrew.cooper3@citrix.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=ludloff@gmail.com \
--cc=maciej.wieczor-retman@intel.com \
--cc=mingo@redhat.com \
--cc=sohil.mehta@intel.com \
--cc=tglx@linutronix.de \
--cc=x86-cpuid@lists.linux.dev \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.