ring-buffer: Return 0 on success from ring_buffer_resize()
authorQiujun Huang <hqjagain@gmail.com>
Mon, 19 Oct 2020 14:22:42 +0000 (22:22 +0800)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 22 Oct 2020 15:24:10 +0000 (11:24 -0400)
We don't need to check the new buffer size, and the return value
had confused resize_buffer_duplicate_size().
...
ret = ring_buffer_resize(trace_buf->buffer,
per_cpu_ptr(size_buf->data,cpu_id)->entries, cpu_id);
if (ret == 0)
per_cpu_ptr(trace_buf->data, cpu_id)->entries =
per_cpu_ptr(size_buf->data, cpu_id)->entries;
...

Link: https://lkml.kernel.org/r/20201019142242.11560-1-hqjagain@gmail.com
Cc: stable@vger.kernel.org
Fixes: d60da506cbeb3 ("tracing: Add a resize function to make one buffer equivalent to another buffer")
Signed-off-by: Qiujun Huang <hqjagain@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/ring_buffer.c

index 15bf28b..5c6a9c6 100644 (file)
@@ -1952,18 +1952,18 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
 {
        struct ring_buffer_per_cpu *cpu_buffer;
        unsigned long nr_pages;
-       int cpu, err = 0;
+       int cpu, err;
 
        /*
         * Always succeed at resizing a non-existent buffer:
         */
        if (!buffer)
-               return size;
+               return 0;
 
        /* Make sure the requested buffer exists */
        if (cpu_id != RING_BUFFER_ALL_CPUS &&
            !cpumask_test_cpu(cpu_id, buffer->cpumask))
-               return size;
+               return 0;
 
        nr_pages = DIV_ROUND_UP(size, BUF_PAGE_SIZE);
 
@@ -2119,7 +2119,7 @@ int ring_buffer_resize(struct trace_buffer *buffer, unsigned long size,
        }
 
        mutex_unlock(&buffer->mutex);
-       return size;
+       return 0;
 
  out_err:
        for_each_buffer_cpu(buffer, cpu) {