aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/ring_buffer.c3
-rw-r--r--kernel/trace/trace.c9
2 files changed, 10 insertions, 2 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index b59aea2c48c2..e444ff88f0a4 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -620,6 +620,9 @@ int ring_buffer_poll_wait(struct ring_buffer *buffer, int cpu,
620 if (cpu == RING_BUFFER_ALL_CPUS) 620 if (cpu == RING_BUFFER_ALL_CPUS)
621 work = &buffer->irq_work; 621 work = &buffer->irq_work;
622 else { 622 else {
623 if (!cpumask_test_cpu(cpu, buffer->cpumask))
624 return -EINVAL;
625
623 cpu_buffer = buffer->buffers[cpu]; 626 cpu_buffer = buffer->buffers[cpu];
624 work = &cpu_buffer->irq_work; 627 work = &cpu_buffer->irq_work;
625 } 628 }
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index ae6fa2d1cdf7..4d79485b3237 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -6216,10 +6216,15 @@ __init static int tracer_alloc_buffers(void)
6216 6216
6217 trace_init_cmdlines(); 6217 trace_init_cmdlines();
6218 6218
6219 register_tracer(&nop_trace); 6219 /*
6220 6220 * register_tracer() might reference current_trace, so it
6221 * needs to be set before we register anything. This is
6222 * just a bootstrap of current_trace anyway.
6223 */
6221 global_trace.current_trace = &nop_trace; 6224 global_trace.current_trace = &nop_trace;
6222 6225
6226 register_tracer(&nop_trace);
6227
6223 /* All seems OK, enable tracing */ 6228 /* All seems OK, enable tracing */
6224 tracing_disabled = 0; 6229 tracing_disabled = 0;
6225 6230