Loading kernel/marker.c +29 −0 Original line number Diff line number Diff line Loading @@ -846,3 +846,32 @@ void *marker_get_private_data(const char *name, marker_probe_func *probe, return ERR_PTR(-ENOENT); } EXPORT_SYMBOL_GPL(marker_get_private_data); int marker_module_notify(struct notifier_block *self, unsigned long val, void *data) { struct module *mod = data; switch (val) { case MODULE_STATE_COMING: marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); break; case MODULE_STATE_GOING: marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); break; } return 0; } struct notifier_block marker_module_nb = { .notifier_call = marker_module_notify, .priority = 0, }; static int init_markers(void) { return register_module_notifier(&marker_module_nb); } __initcall(init_markers); kernel/module.c +0 −4 Original line number Diff line number Diff line Loading @@ -2184,10 +2184,6 @@ static noinline struct module *load_module(void __user *umod, struct mod_debug *debug; unsigned int num_debug; #ifdef CONFIG_MARKERS marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); #endif debug = section_objs(hdr, sechdrs, secstrings, "__verbose", sizeof(*debug), &num_debug); dynamic_printk_setup(debug, num_debug); Loading Loading
kernel/marker.c +29 −0 Original line number Diff line number Diff line Loading @@ -846,3 +846,32 @@ void *marker_get_private_data(const char *name, marker_probe_func *probe, return ERR_PTR(-ENOENT); } EXPORT_SYMBOL_GPL(marker_get_private_data); int marker_module_notify(struct notifier_block *self, unsigned long val, void *data) { struct module *mod = data; switch (val) { case MODULE_STATE_COMING: marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); break; case MODULE_STATE_GOING: marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); break; } return 0; } struct notifier_block marker_module_nb = { .notifier_call = marker_module_notify, .priority = 0, }; static int init_markers(void) { return register_module_notifier(&marker_module_nb); } __initcall(init_markers);
kernel/module.c +0 −4 Original line number Diff line number Diff line Loading @@ -2184,10 +2184,6 @@ static noinline struct module *load_module(void __user *umod, struct mod_debug *debug; unsigned int num_debug; #ifdef CONFIG_MARKERS marker_update_probe_range(mod->markers, mod->markers + mod->num_markers); #endif debug = section_objs(hdr, sechdrs, secstrings, "__verbose", sizeof(*debug), &num_debug); dynamic_printk_setup(debug, num_debug); Loading