summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorjm22469 <none@none>2006-11-06 11:59:27 -0800
committerjm22469 <none@none>2006-11-06 11:59:27 -0800
commita3f75865e789d90ccd8aaa11f12d71a83bf5812e (patch)
tree614d041a184b41aee07c4ba9b68fac161e9a8e29 /usr/src
parent996aa81675f6b63ed02041243b97e61ee7bd51d2 (diff)
downloadillumos-joyent-a3f75865e789d90ccd8aaa11f12d71a83bf5812e.tar.gz
6487262 md_alloc_scan_dag and md_init_intern reporting memory leaks in ON PIT nightly testing.
6487456 memory leak from md_init_intern()
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/sun4v/os/mach_cpu_states.c9
-rw-r--r--usr/src/uts/sun4v/promif/promif_emul.c1
2 files changed, 8 insertions, 2 deletions
diff --git a/usr/src/uts/sun4v/os/mach_cpu_states.c b/usr/src/uts/sun4v/os/mach_cpu_states.c
index 5fcf160cac..40ed7e92c6 100644
--- a/usr/src/uts/sun4v/os/mach_cpu_states.c
+++ b/usr/src/uts/sun4v/os/mach_cpu_states.c
@@ -1207,12 +1207,12 @@ recalc_xc_timeouts(void)
ASSERT(nrnode == 1);
if (nrnode < 1) {
cmn_err(CE_WARN, "recalc_xc_timeouts: platform node missing");
- return;
+ goto done;
}
if (md_get_prop_val(mdp, platlist[0],
"inter-cpu-latency", &latency) == -1)
- return;
+ goto done;
/*
* clock.h defines an assembly-language macro
@@ -1297,4 +1297,9 @@ recalc_xc_timeouts(void)
xt_sync(cpuset);
}
}
+
+done:
+ if (nrnode > 0)
+ md_free_scan_dag(mdp, &platlist);
+ (void) md_fini_handle(mdp);
}
diff --git a/usr/src/uts/sun4v/promif/promif_emul.c b/usr/src/uts/sun4v/promif/promif_emul.c
index 716344d19d..78489742d3 100644
--- a/usr/src/uts/sun4v/promif/promif_emul.c
+++ b/usr/src/uts/sun4v/promif/promif_emul.c
@@ -243,6 +243,7 @@ cif_check_cpus(void)
done:
kmem_free(listp, listsz);
+ (void) md_fini_handle(mdp);
}
void