@@ -14882,6 +14882,7 @@ dtrace_helper_provider_validate(dof_hdr_t *dof, dof_sec_t *sec)
1488214882 dof_stridx_t typeidx ;
1488314883 size_t typesz ;
1488414884 uint_t nprobes , j , k ;
14885+ static char buf [64 ];
1488514886
1488614887 ASSERT (sec -> dofs_type == DOF_SECT_PROVIDER );
1488714888
@@ -14930,7 +14931,9 @@ dtrace_helper_provider_validate(dof_hdr_t *dof, dof_sec_t *sec)
1493014931
1493114932 if (prb_sec -> dofs_entsize == 0 ||
1493214933 prb_sec -> dofs_entsize > prb_sec -> dofs_size ) {
14933- dtrace_dof_error (dof , "invalid entry size" );
14934+ snprintf (buf , sizeof buf , "invalid entry size: prbsec: %d vs %d\n" ,
14935+ (int ) prb_sec -> dofs_entsize , (int ) prb_sec -> dofs_size );
14936+ dtrace_dof_error (dof , buf );
1493414937 return (-1 );
1493514938 }
1493614939
@@ -14940,7 +14943,9 @@ dtrace_helper_provider_validate(dof_hdr_t *dof, dof_sec_t *sec)
1494014943 }
1494114944
1494214945 if (off_sec -> dofs_entsize != sizeof (uint32_t )) {
14943- dtrace_dof_error (dof , "invalid entry size" );
14946+ snprintf (buf , sizeof buf , "invalid entry size: offsec: %d vs %d\n" ,
14947+ (int ) off_sec -> dofs_entsize , (int ) sizeof (uint32_t ));
14948+ dtrace_dof_error (dof , buf );
1494414949 return (-1 );
1494514950 }
1494614951
@@ -14950,7 +14955,9 @@ dtrace_helper_provider_validate(dof_hdr_t *dof, dof_sec_t *sec)
1495014955 }
1495114956
1495214957 if (arg_sec -> dofs_entsize != sizeof (uint8_t )) {
14953- dtrace_dof_error (dof , "invalid entry size" );
14958+ snprintf (buf , sizeof buf , "invalid entry size: argsec: %d vs 1\n" ,
14959+ (int ) arg_sec -> dofs_entsize );
14960+ dtrace_dof_error (dof , buf );
1495414961 return (-1 );
1495514962 }
1495614963
@@ -15735,14 +15742,21 @@ dtrace_attach(dev_info_t *devi, ddi_attach_cmd_t cmd)
1573515742 dtrace_devi = devi ;
1573615743# endif
1573715744
15745+ #if linux
15746+ /***********************************************/
15747+ /* We are paniccing on a double reload - I */
15748+ /* dont think kernel is removing us from */
15749+ /* the notifier chain. */
15750+ /***********************************************/
15751+ printk ("TODO: Fix register_module_notifier(n_module_load)\n" );
15752+ if (0 )
15753+ register_module_notifier (& n_module_load );
15754+ #else
1573815755 /***********************************************/
1573915756 /* These wont be called for Linux but */
1574015757 /* compile them in as we may enable at a */
1574115758 /* future date. */
1574215759 /***********************************************/
15743- #if linux
15744- register_module_notifier (& n_module_load );
15745- #else
1574615760 dtrace_modload = dtrace_module_loaded ;
1574715761 dtrace_modunload = dtrace_module_unloaded ;
1574815762 dtrace_cpu_init = dtrace_cpu_setup_initial ;
@@ -16992,7 +17006,9 @@ printk("dtrace_unregister is causing us to fail\n");
1699217006 dtrace_modload = NULL ;
1699317007 dtrace_modunload = NULL ;
1699417008#if linux
16995- unregister_module_notifier (& n_module_load );
17009+ printk ("TODO: Fix unregister_module_notifier(n_module_load)\n" );
17010+ if (0 )
17011+ unregister_module_notifier (& n_module_load );
1699617012#endif
1699717013
1699817014 mutex_exit (& cpu_lock );
0 commit comments