aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2008-10-02 19:18:09 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 04:39:15 -0400
commitaa1e0e3bcf95ce684d005bedb16e5d4559455685 (patch)
tree579416746452a880ca42de6c2885419e49a44e45 /kernel
parenteb7fa935274bb233686fdf7a53f40c5d9ee76ed6 (diff)
ring_buffer: map to cpu not page
My original patch had a compile bug when NUMA was configured. I referenced cpu when it should have been cpu_buffer->cpu. Ingo quickly fixed this bug by replacing cpu with 'i' because that was the loop counter. Unfortunately, the 'i' was the counter of pages, not CPUs. This caused a crash when the number of pages allocated for the buffers exceeded the number of pages, which would usually be the case. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/trace/ring_buffer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
index 54a30986493a..6b8dac02364f 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -232,7 +232,7 @@ static int rb_allocate_pages(struct ring_buffer_per_cpu *cpu_buffer,
232 232
233 for (i = 0; i < nr_pages; i++) { 233 for (i = 0; i < nr_pages; i++) {
234 page = kzalloc_node(ALIGN(sizeof(*page), cache_line_size()), 234 page = kzalloc_node(ALIGN(sizeof(*page), cache_line_size()),
235 GFP_KERNEL, cpu_to_node(i)); 235 GFP_KERNEL, cpu_to_node(cpu_buffer->cpu));
236 if (!page) 236 if (!page)
237 goto free_pages; 237 goto free_pages;
238 list_add(&page->list, &pages); 238 list_add(&page->list, &pages);