27 lines
833 B
Diff
27 lines
833 B
Diff
--- crash-trace-command-2.0/trace.c.orig
|
|
+++ crash-trace-command-2.0/trace.c
|
|
@@ -96,7 +96,7 @@ struct ring_buffer_per_cpu {
|
|
ulong real_head_page;
|
|
|
|
int head_page_index;
|
|
- unsigned int nr_pages;
|
|
+ unsigned long nr_pages;
|
|
ulong *pages;
|
|
|
|
ulong *linear_pages;
|
|
@@ -430,7 +432,13 @@ static int ftrace_init_buffers(struct ri
|
|
buffer_read_value(overrun);
|
|
buffer_read_value(entries);
|
|
if (per_cpu_buffer_sizes) {
|
|
- buffer_read_value(nr_pages);
|
|
+ if (MEMBER_SIZE("ring_buffer_per_cpu", "nr_pages") == sizeof(unsigned int)) {
|
|
+ unsigned int tmp_nr_pages;
|
|
+ read_value(tmp_nr_pages, buffers[i].kaddr, ring_buffer_per_cpu, nr_pages);
|
|
+ buffers[i].nr_pages = (unsigned long) tmp_nr_pages;
|
|
+ } else {
|
|
+ buffer_read_value(nr_pages);
|
|
+ }
|
|
pages = buffers[i].nr_pages;
|
|
} else
|
|
buffers[i].nr_pages = pages;
|