init, tracing: instrument security and console initcall trace events
Trace events have been added around the initcall functions defined in init/main.c. But console and security have their own initcalls. This adds the trace events associated for those initcall functions. Link: http://lkml.kernel.org/r/1521765208.19745.2.camel@polymtl.ca Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Abderrahmane Benbachir <abderrahmane.benbachir@polymtl.ca> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
Родитель
4ee7c60de8
Коммит
58eacfffc4
|
@ -52,6 +52,7 @@
|
|||
#include <linux/uaccess.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
#include <trace/events/initcall.h>
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/printk.h>
|
||||
|
||||
|
@ -2781,6 +2782,7 @@ EXPORT_SYMBOL(unregister_console);
|
|||
*/
|
||||
void __init console_init(void)
|
||||
{
|
||||
int ret;
|
||||
initcall_t *call;
|
||||
|
||||
/* Setup the default TTY line discipline. */
|
||||
|
@ -2791,8 +2793,11 @@ void __init console_init(void)
|
|||
* inform about problems etc..
|
||||
*/
|
||||
call = __con_initcall_start;
|
||||
trace_initcall_level("console");
|
||||
while (call < __con_initcall_end) {
|
||||
(*call)();
|
||||
trace_initcall_start((*call));
|
||||
ret = (*call)();
|
||||
trace_initcall_finish((*call), ret);
|
||||
call++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
#include <linux/string.h>
|
||||
#include <net/flow.h>
|
||||
|
||||
#include <trace/events/initcall.h>
|
||||
|
||||
#define MAX_LSM_EVM_XATTR 2
|
||||
|
||||
/* Maximum number of letters for an LSM name string */
|
||||
|
@ -45,10 +47,14 @@ static __initdata char chosen_lsm[SECURITY_NAME_MAX + 1] =
|
|||
|
||||
static void __init do_security_initcalls(void)
|
||||
{
|
||||
int ret;
|
||||
initcall_t *call;
|
||||
call = __security_initcall_start;
|
||||
trace_initcall_level("security");
|
||||
while (call < __security_initcall_end) {
|
||||
(*call) ();
|
||||
trace_initcall_start((*call));
|
||||
ret = (*call) ();
|
||||
trace_initcall_finish((*call), ret);
|
||||
call++;
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче