]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
tracing: Fix unload_page for simple_ring_buffer init rollback
authorVincent Donnefort <vdonnefort@google.com>
Tue, 12 May 2026 14:16:14 +0000 (15:16 +0100)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 21 May 2026 12:26:22 +0000 (08:26 -0400)
The unload_page callback expects the return value of load_page() as its
argument: ret = load_page(va); unload(ret). Fix the rollback code in
simple_ring_buffer_init_mm() where the descriptor's VA is used instead
of the loaded page address.

Link: https://patch.msgid.link/20260512141614.1759430-1-vdonnefort@google.com
Fixes: 635923081c79 ("tracing: load/unload page callbacks for simple_ring_buffer")
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/simple_ring_buffer.c

index f731f14d0ff72204cae8bc7d6a7206e7f328b5a5..f4642f5adda3343967a44e87f120a21451cc4bb6 100644 (file)
@@ -430,7 +430,7 @@ int simple_ring_buffer_init_mm(struct simple_rb_per_cpu *cpu_buffer,
 
        if (ret) {
                for (i--; i >= 0; i--)
-                       unload_page((void *)desc->page_va[i]);
+                       unload_page(bpages[i].page);
                unload_page(cpu_buffer->meta);
 
                return ret;