Print this page
dccp: getting kernel segfaults, back out recent added features

*** 258,269 **** dccps->dccps_sc[i] = kmem_zalloc(sizeof (dccp_stats_cpu_t), KM_SLEEP); } /* Kernel statistics */ ! dccps->dccps_kstat = dccp_kstat2_init(stackid); ! dccps->dccps_mibkp = dccp_kstat_init(stackid); /* Driver major number */ major = mod_name_to_major(INET_NAME); error = ldi_ident_from_major(major, &dccps->dccps_ldi_ident); ASSERT(error == 0); --- 258,269 ---- dccps->dccps_sc[i] = kmem_zalloc(sizeof (dccp_stats_cpu_t), KM_SLEEP); } /* Kernel statistics */ ! //dccps->dccps_kstat = dccp_kstat2_init(stackid); ! //dccps->dccps_mibkp = dccp_kstat_init(stackid); /* Driver major number */ major = mod_name_to_major(INET_NAME); error = ldi_ident_from_major(major, &dccps->dccps_ldi_ident); ASSERT(error == 0);
*** 301,310 **** --- 301,312 ---- dccps->dccps_bind_fanout = NULL; /* Kernel statistics */ dccp_kstat_fini(stackid, dccps->dccps_mibkp); dccps->dccps_mibkp = NULL; + dccp_kstat2_fini(stackid, dccps->dccps_kstat); + dccps->dccps_kstat = NULL; ldi_ident_release(dccps->dccps_ldi_ident); kmem_free(dccps, sizeof (*dccps)); }