On 28-01-22, 10:30, Bjorn Andersson wrote: > On Fri 28 Jan 02:39 PST 2022, Lukasz Luba wrote: > > On 1/28/22 3:25 AM, Bjorn Andersson wrote: > > > In the event that the SoC is under thermal pressure while booting it's > > > possible for the dcvs notification to happen inbetween the cpufreq > > > framework calling init and it actually updating the policy's > > > related_cpus cpumask. > > > > > > Prior to the introduction of the thermal pressure update helper an empty > > > cpumask would simply result in the thermal pressure of no cpus being > > > updated, but the new code will attempt to dereference an invalid per_cpu > > > variable. > > > > Just to confirm, is that per-cpu var the 'policy->related_cpus' in this > > driver? > > > > Correct, we boot under thermal pressure, so the interrupt fires before > we return from "init", which means that related_cpus is still 0. Just to clarify here a bit, policy->related_cpus is already allocated at this point of time. AFAICT, the dereferencing of the invalid per-cpu variable refers to the per-cpu freq_factor in arch_topology.c, which happens because the cpumask isn't initialized yet. -- viresh