Re: [PATCH RESEND] powercap: intel_rapl: Fix kernel panic during PMU unbind
Abel Vesa <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <bytk4rnkmttixn5y23fhgg64hvgtg3qkurk364h5swf4ufyul6@dd4k3suk67w7> |
On 26-08-22 15:16:57, Sumeet Pawnikar wrote: > From: Sumeet Pawnikar <[email protected]> > > rapl_package_add_pmu() fails internally at perf_pmu_register(), > and rapl_pmu_update() leaves the global rapl_pmu.pmu structure > zero-initialized via memset and returns an error. But any > previously probed packages retain has_pmu = true. > > When the driver is subsequently unbound or removed, > rapl_package_remove_pmu_locked() sees has_pmu == true and > unconditionally calls perf_pmu_unregister(&rapl_pmu.pmu) on the > zeroed-out structure. This attempts a list_del_rcu() on a NULL > list head, immediately causing a kernel panic. > > Fix this by checking if the PMU is actually registered before > attempting to unregister it. > > Signed-off-by: Sumeet Pawnikar <[email protected]> Looks OK to me, so: Reviewed-by: Abel Vesa <[email protected]>