diff options
Diffstat (limited to 'kernel/trace/trace_boot.c')
-rw-r--r-- | kernel/trace/trace_boot.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c index 19bfc75d467e..c21d5f3956ad 100644 --- a/kernel/trace/trace_boot.c +++ b/kernel/trace/trace_boot.c | |||
@@ -129,6 +129,7 @@ struct tracer boot_tracer __read_mostly = | |||
129 | 129 | ||
130 | void trace_boot_call(struct boot_trace_call *bt, initcall_t fn) | 130 | void trace_boot_call(struct boot_trace_call *bt, initcall_t fn) |
131 | { | 131 | { |
132 | struct ftrace_event_call *call = &event_boot_call; | ||
132 | struct ring_buffer_event *event; | 133 | struct ring_buffer_event *event; |
133 | struct ring_buffer *buffer; | 134 | struct ring_buffer *buffer; |
134 | struct trace_boot_call *entry; | 135 | struct trace_boot_call *entry; |
@@ -150,13 +151,15 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn) | |||
150 | goto out; | 151 | goto out; |
151 | entry = ring_buffer_event_data(event); | 152 | entry = ring_buffer_event_data(event); |
152 | entry->boot_call = *bt; | 153 | entry->boot_call = *bt; |
153 | trace_buffer_unlock_commit(buffer, event, 0, 0); | 154 | if (!filter_check_discard(call, entry, buffer, event)) |
155 | trace_buffer_unlock_commit(buffer, event, 0, 0); | ||
154 | out: | 156 | out: |
155 | preempt_enable(); | 157 | preempt_enable(); |
156 | } | 158 | } |
157 | 159 | ||
158 | void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn) | 160 | void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn) |
159 | { | 161 | { |
162 | struct ftrace_event_call *call = &event_boot_ret; | ||
160 | struct ring_buffer_event *event; | 163 | struct ring_buffer_event *event; |
161 | struct ring_buffer *buffer; | 164 | struct ring_buffer *buffer; |
162 | struct trace_boot_ret *entry; | 165 | struct trace_boot_ret *entry; |
@@ -175,7 +178,8 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn) | |||
175 | goto out; | 178 | goto out; |
176 | entry = ring_buffer_event_data(event); | 179 | entry = ring_buffer_event_data(event); |
177 | entry->boot_ret = *bt; | 180 | entry->boot_ret = *bt; |
178 | trace_buffer_unlock_commit(buffer, event, 0, 0); | 181 | if (!filter_check_discard(call, entry, buffer, event)) |
182 | trace_buffer_unlock_commit(buffer, event, 0, 0); | ||
179 | out: | 183 | out: |
180 | preempt_enable(); | 184 | preempt_enable(); |
181 | } | 185 | } |