smp_store_cpu_info() doesn't call identify_cpu() again during S3 resume, hence it is wrong to overwrite APs' data using boot_cpu_data. With 7126b7f806d54 ("x86/CPU: re-work populating of cpu_data[]") this now results in a crash, as the cpu_to_socket() use in smp_store_cpu_info() then obtains a bad socket number, much like was already observed in [1].
[1] https://lists.xen.org/archives/html/xen-devel/2025-06/msg01879.html Fixes: bb502a8ca5925 ("x86: check feature flags after resume") Signed-off-by: Jan Beulich <jbeul...@suse.com> --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -370,7 +370,9 @@ void asmlinkage start_secondary(void) cpu_init(); - initialize_cpu_data(cpu); + /* During resume, must not clear previously collected data. */ + if ( system_state != SYS_STATE_resume ) + initialize_cpu_data(cpu); microcode_update_one();