Skip to content

Commit 2d1f500

Browse files
zhang-ruirafaeljw
authored andcommitted
powercap: intel_rapl: Fix a NULL pointer dereference
A NULL pointer dereference is triggered when probing the MMIO RAPL driver on platforms with CPU ID not listed in intel_rapl_common CPU model list. This is because the intel_rapl_common module still probes on such platforms even if 'defaults_msr' is not set after commit 1488ac9 ("powercap: intel_rapl: Allow probing without CPUID match"). Thus the MMIO RAPL rp->priv->defaults is NULL when registering to RAPL framework. Fix the problem by adding sanity check to ensure rp->priv->rapl_defaults is always valid. Fixes: 1488ac9 ("powercap: intel_rapl: Allow probing without CPUID match") Signed-off-by: Zhang Rui <rui.zhang@intel.com> Cc: 6.5+ <stable@vger.kernel.org> # 6.5+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 841c351 commit 2d1f500

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/powercap/intel_rapl_common.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -759,6 +759,11 @@ static int rapl_config(struct rapl_package *rp)
759759
default:
760760
return -EINVAL;
761761
}
762+
763+
/* defaults_msr can be NULL on unsupported platforms */
764+
if (!rp->priv->defaults || !rp->priv->rpi)
765+
return -ENODEV;
766+
762767
return 0;
763768
}
764769

0 commit comments

Comments
 (0)