Print this page
6938 STMF kstat free is using an improper size for kmem_free().
*** 3178,3189 ****
} else {
mutex_exit(&stmf_state.stmf_lock);
return (STMF_BUSY);
}
if (ilu->ilu_kstat_info) {
! kmem_free(ilu->ilu_kstat_info->ks_data,
! ilu->ilu_kstat_info->ks_data_size);
kstat_delete(ilu->ilu_kstat_info);
}
if (ilu->ilu_kstat_io) {
kstat_delete(ilu->ilu_kstat_io);
mutex_destroy(&ilu->ilu_kstat_lock);
--- 3178,3188 ----
} else {
mutex_exit(&stmf_state.stmf_lock);
return (STMF_BUSY);
}
if (ilu->ilu_kstat_info) {
! kmem_free(ilu->ilu_kstat_info->ks_data, STMF_KSTAT_LU_SZ);
kstat_delete(ilu->ilu_kstat_info);
}
if (ilu->ilu_kstat_io) {
kstat_delete(ilu->ilu_kstat_io);
mutex_destroy(&ilu->ilu_kstat_lock);
*** 3357,3367 ****
mutex_exit(&stmf_state.stmf_lock);
return (STMF_BUSY);
}
if (ilport->ilport_kstat_info) {
kmem_free(ilport->ilport_kstat_info->ks_data,
! ilport->ilport_kstat_info->ks_data_size);
kstat_delete(ilport->ilport_kstat_info);
}
if (ilport->ilport_kstat_io) {
kstat_delete(ilport->ilport_kstat_io);
mutex_destroy(&ilport->ilport_kstat_lock);
--- 3356,3366 ----
mutex_exit(&stmf_state.stmf_lock);
return (STMF_BUSY);
}
if (ilport->ilport_kstat_info) {
kmem_free(ilport->ilport_kstat_info->ks_data,
! STMF_KSTAT_TGT_SZ);
kstat_delete(ilport->ilport_kstat_info);
}
if (ilport->ilport_kstat_io) {
kstat_delete(ilport->ilport_kstat_io);
mutex_destroy(&ilport->ilport_kstat_lock);