svn commit: r250373 - stable/9/sys/dev/hwpmc
Hiren Panchasara
hiren at FreeBSD.org
Wed May 8 16:43:53 UTC 2013
Author: hiren
Date: Wed May 8 16:43:52 2013
New Revision: 250373
URL: http://svnweb.freebsd.org/changeset/base/250373
Log:
MFC: 233569
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.
Submitted by: gonzo
Reported by: Alexandr Kovalenko <never at nevermind.kiev.ua>
Approved by: sbruno (mentor)
Modified:
stable/9/sys/dev/hwpmc/hwpmc_core.c
stable/9/sys/dev/hwpmc/hwpmc_intel.c
Modified: stable/9/sys/dev/hwpmc/hwpmc_core.c
==============================================================================
--- stable/9/sys/dev/hwpmc/hwpmc_core.c Wed May 8 16:31:11 2013 (r250372)
+++ stable/9/sys/dev/hwpmc/hwpmc_core.c Wed May 8 16:43:52 2013 (r250373)
@@ -2613,8 +2613,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: stable/9/sys/dev/hwpmc/hwpmc_intel.c
==============================================================================
--- stable/9/sys/dev/hwpmc/hwpmc_intel.c Wed May 8 16:31:11 2013 (r250372)
+++ stable/9/sys/dev/hwpmc/hwpmc_intel.c Wed May 8 16:43:52 2013 (r250373)
@@ -250,6 +250,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-stable-9
mailing list