svn commit: r357240 - in head/sys: kern x86/cpufreq
Conrad Meyer
cem at FreeBSD.org
Wed Jan 29 03:15:35 UTC 2020
Author: cem
Date: Wed Jan 29 03:15:34 2020
New Revision: 357240
URL: https://svnweb.freebsd.org/changeset/base/357240
Log:
hwpstate_intel(4): Silence/fix Coverity reports
These were all introduced in the initial import of hwpstate_intel(4).
Reported by: Coverity
CIDs: 1413161, 1413164, 1413165, 1413167
X-MFC-With: r357002
Modified:
head/sys/kern/kern_cpu.c
head/sys/x86/cpufreq/hwpstate_intel.c
Modified: head/sys/kern/kern_cpu.c
==============================================================================
--- head/sys/kern/kern_cpu.c Wed Jan 29 01:57:07 2020 (r357239)
+++ head/sys/kern/kern_cpu.c Wed Jan 29 03:15:34 2020 (r357240)
@@ -473,11 +473,12 @@ cf_get_method(device_t dev, struct cf_level *level)
* first try the driver and if that fails, fall back to
* estimating.
*/
- if (CPUFREQ_DRV_GET(sc->cf_drv_dev, &set) != 0)
- goto estimate;
- sc->curr_level.total_set = set;
- CF_DEBUG("get returning immediate freq %d\n", curr_set->freq);
- goto out;
+ if (CPUFREQ_DRV_GET(sc->cf_drv_dev, &set) == 0) {
+ sc->curr_level.total_set = set;
+ CF_DEBUG("get returning immediate freq %d\n",
+ curr_set->freq);
+ goto out;
+ }
} else if (curr_set->freq != CPUFREQ_VAL_UNKNOWN) {
CF_DEBUG("get returning known freq %d\n", curr_set->freq);
error = 0;
@@ -522,9 +523,6 @@ cf_get_method(device_t dev, struct cf_level *level)
CF_DEBUG("get matched freq %d from drivers\n", curr_set->freq);
goto out;
}
-
-estimate:
- CF_MTX_ASSERT(&sc->lock);
/*
* We couldn't find an exact match, so attempt to estimate and then
Modified: head/sys/x86/cpufreq/hwpstate_intel.c
==============================================================================
--- head/sys/x86/cpufreq/hwpstate_intel.c Wed Jan 29 01:57:07 2020 (r357239)
+++ head/sys/x86/cpufreq/hwpstate_intel.c Wed Jan 29 03:15:34 2020 (r357240)
@@ -147,17 +147,19 @@ intel_hwp_dump_sysctl_handler(SYSCTL_HANDLER_ARGS)
sbuf_printf(sb, "\tLowest Performance: %03ju\n", (data >> 24) & 0xff);
rdmsr_safe(MSR_IA32_HWP_REQUEST, &data);
- if (sc->hwp_pkg_ctrl && (data & IA32_HWP_REQUEST_PACKAGE_CONTROL)) {
+ data2 = 0;
+ if (sc->hwp_pkg_ctrl && (data & IA32_HWP_REQUEST_PACKAGE_CONTROL))
rdmsr_safe(MSR_IA32_HWP_REQUEST_PKG, &data2);
- }
sbuf_putc(sb, '\n');
-#define pkg_print(x, name, offset) do { \
- if (!sc->hwp_pkg_ctrl || (data & x) != 0) \
- sbuf_printf(sb, "\t%s: %03ju\n", name, (data >> offset) & 0xff);\
- else \
- sbuf_printf(sb, "\t%s: %03ju\n", name, (data2 >> offset) & 0xff);\
+#define pkg_print(x, name, offset) do { \
+ if (!sc->hwp_pkg_ctrl || (data & x) != 0) \
+ sbuf_printf(sb, "\t%s: %03u\n", name, \
+ (unsigned)(data >> offset) & 0xff); \
+ else \
+ sbuf_printf(sb, "\t%s: %03u\n", name, \
+ (unsigned)(data2 >> offset) & 0xff); \
} while (0)
pkg_print(IA32_HWP_REQUEST_EPP_VALID,
@@ -413,7 +415,7 @@ intel_hwpstate_attach(device_t dev)
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO,
- "epp", CTLTYPE_INT | CTLFLAG_RWTUN, dev, sizeof(dev),
+ "epp", CTLTYPE_INT | CTLFLAG_RWTUN, dev, 0,
sysctl_epp_select, "I",
"Efficiency/Performance Preference "
"(range from 0, most performant, through 100, most efficient)");
More information about the svn-src-all
mailing list