Messages in this thread | | | Date | Tue, 9 Apr 2024 11:24:15 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 1/2] x86/cpu/topology: don't write to immutable cpu_present_mask |
| |
On Tue, Apr 09, 2024 at 10:42:13AM +0200, Ingo Molnar wrote: > > * Thomas Gleixner <tglx@linutronix.de> wrote: > > > On Sun, Apr 07 2024 at 18:26, Alexey Dobriyan wrote: > > > Workaround the following oops: > > > > > > topology_hotplug_apic > > > topo_set_cpuids > > > set_cpu_possible(cpu, true); > > > // write to __ro_after_init section after init > > > > Duh, yes. > > > > > adobriyan: I'm not sure what's going on, can it set unset bit here? > > > If not, then why does it repeat the job and set already set bits. > > > > > > Anyhow, let's not oops peoples' machines for now. > > > > Adding a bandaid to paper over the non-understood real problem is > > definitely not a good plan. I take this patch as a bug report. > > > > Proper fix below. > > BTW., independently of the fix, warning about a too late set_cpu_possible() > might still make sense - clearly it *can* be called too late by > architecture init code :-)
Make the function __init ? Then it goes away right when the data becomes RO.
| |