svn commit: r233569 - head/sys/dev/hwpmc
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Tue Mar 27 18:22:15 UTC 2012
Author: gonzo
Date: Tue Mar 27 18:22:14 2012
New Revision: 233569
URL: http://svn.freebsd.org/changeset/base/233569
Log:
Fix crash on VirtualBox (and probably on some real hardware):
- Do not cover error returned by pmc_core_initialize with the
result of pmc_uncore_initialize, fail right away.
- Give a user something to report instead failing silently
Reported by: Alexandr Kovalenko <never at nevermind.kiev.ua>
Modified:
head/sys/dev/hwpmc/hwpmc_core.c
head/sys/dev/hwpmc/hwpmc_intel.c
Modified: head/sys/dev/hwpmc/hwpmc_core.c
==============================================================================
--- head/sys/dev/hwpmc/hwpmc_core.c Tue Mar 27 18:17:22 2012 (r233568)
+++ head/sys/dev/hwpmc/hwpmc_core.c Tue Mar 27 18:22:14 2012 (r233569)
@@ -2406,8 +2406,12 @@ pmc_core_initialize(struct pmc_mdep *md,
PMCDBG(MDP,INI,1,"core-init cputype=%d ncpu=%d ipa-version=%d",
md->pmd_cputype, maxcpu, ipa_version);
- if (ipa_version < 1 || ipa_version > 3) /* Unknown PMC architecture. */
+ if (ipa_version < 1 || ipa_version > 3) {
+ /* Unknown PMC architecture. */
+ printf("hwpc_core: unknown PMC architecture: %d\n",
+ ipa_version);
return (EPROGMISMATCH);
+ }
core_cputype = md->pmd_cputype;
Modified: head/sys/dev/hwpmc/hwpmc_intel.c
==============================================================================
--- head/sys/dev/hwpmc/hwpmc_intel.c Tue Mar 27 18:17:22 2012 (r233568)
+++ head/sys/dev/hwpmc/hwpmc_intel.c Tue Mar 27 18:22:14 2012 (r233569)
@@ -239,6 +239,9 @@ pmc_intel_initialize(void)
KASSERT(0, ("[intel,%d] Unknown CPU type", __LINE__));
}
+ if (error)
+ goto error;
+
/*
* Init the uncore class.
*/
More information about the svn-src-head
mailing list