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);