From: Steven Rostedt <rost...@goodmis.org>

The function ring_buffer_write() has a goto out to only do a
preempt_enable_notrace(). This can be replaced by a guard.

Signed-off-by: Steven Rostedt (Google) <rost...@goodmis.org>
---
 kernel/trace/ring_buffer.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 00fc38d70e86..9d7bf17fbfba 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -4714,26 +4714,26 @@ int ring_buffer_write(struct trace_buffer *buffer,
        int ret = -EBUSY;
        int cpu;
 
-       preempt_disable_notrace();
+       guard(preempt_notrace)();
 
        if (atomic_read(&buffer->record_disabled))
-               goto out;
+               return -EBUSY;
 
        cpu = raw_smp_processor_id();
 
        if (!cpumask_test_cpu(cpu, buffer->cpumask))
-               goto out;
+               return -EBUSY;
 
        cpu_buffer = buffer->buffers[cpu];
 
        if (atomic_read(&cpu_buffer->record_disabled))
-               goto out;
+               return -EBUSY;
 
        if (length > buffer->max_data_size)
-               goto out;
+               return -EBUSY;
 
        if (unlikely(trace_recursive_lock(cpu_buffer)))
-               goto out;
+               return -EBUSY;
 
        event = rb_reserve_next_event(buffer, cpu_buffer, length);
        if (!event)
@@ -4751,10 +4751,6 @@ int ring_buffer_write(struct trace_buffer *buffer,
 
  out_unlock:
        trace_recursive_unlock(cpu_buffer);
-
- out:
-       preempt_enable_notrace();
-
        return ret;
 }
 EXPORT_SYMBOL_GPL(ring_buffer_write);
-- 
2.47.2



Reply via email to