Patch "tracing: Have the error of __tracing_resize_ring_buffer() passed to user" has been added to the 6.13-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    tracing: Have the error of __tracing_resize_ring_buffer() passed to user

to the 6.13-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tracing-have-the-error-of-__tracing_resize_ring_buff.patch
and it can be found in the queue-6.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit de8c677278f326fee07aab5ae333f11b26992b06
Author: Steven Rostedt <rostedt@xxxxxxxxxxx>
Date:   Thu Feb 13 13:41:32 2025 -0500

    tracing: Have the error of __tracing_resize_ring_buffer() passed to user
    
    [ Upstream commit 60b8f711143de7cd9c0f55be0fe7eb94b19eb5c7 ]
    
    Currently if __tracing_resize_ring_buffer() returns an error, the
    tracing_resize_ringbuffer() returns -ENOMEM. But it may not be a memory
    issue that caused the function to fail. If the ring buffer is memory
    mapped, then the resizing of the ring buffer will be disabled. But if the
    user tries to resize the buffer, it will get an -ENOMEM returned, which is
    confusing because there is plenty of memory. The actual error returned was
    -EBUSY, which would make much more sense to the user.
    
    Cc: stable@xxxxxxxxxxxxxxx
    Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
    Cc: Vincent Donnefort <vdonnefort@xxxxxxxxxx>
    Link: https://lore.kernel.org/20250213134132.7e4505d7@xxxxxxxxxxxxxxxxxx
    Fixes: 117c39200d9d7 ("ring-buffer: Introducing ring-buffer mapping functions")
    Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
    Reviewed-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 69aaa8ed7a047..14179a1ee9cca 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -5975,8 +5975,6 @@ static int __tracing_resize_ring_buffer(struct trace_array *tr,
 ssize_t tracing_resize_ring_buffer(struct trace_array *tr,
 				  unsigned long size, int cpu_id)
 {
-	int ret;
-
 	guard(mutex)(&trace_types_lock);
 
 	if (cpu_id != RING_BUFFER_ALL_CPUS) {
@@ -5985,11 +5983,7 @@ ssize_t tracing_resize_ring_buffer(struct trace_array *tr,
 			return -EINVAL;
 	}
 
-	ret = __tracing_resize_ring_buffer(tr, size, cpu_id);
-	if (ret < 0)
-		ret = -ENOMEM;
-
-	return ret;
+	return __tracing_resize_ring_buffer(tr, size, cpu_id);
 }
 
 static void update_last_data(struct trace_array *tr)




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux