Loading kernel/trace/ftrace.c +6 −3 Original line number Diff line number Diff line Loading @@ -3231,6 +3231,7 @@ ftrace_allocate_pages(unsigned long num_to_init) pg = start_pg; while (pg) { order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); start_pg = pg->next; kfree(pg); Loading Loading @@ -6418,6 +6419,7 @@ void ftrace_release_mod(struct module *mod) clear_mod_from_hashes(pg); order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); tmp_page = pg->next; kfree(pg); Loading Loading @@ -6778,6 +6780,7 @@ void ftrace_free_mem(struct module *mod, void *start_ptr, void *end_ptr) if (!pg->index) { *last_pg = pg->next; order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); ftrace_number_of_pages -= 1 << order; ftrace_number_of_groups--; Loading kernel/trace/trace.c +2 −1 Original line number Diff line number Diff line Loading @@ -2985,7 +2985,8 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, size = nr_entries * sizeof(unsigned long); event = __trace_buffer_lock_reserve(buffer, TRACE_STACK, sizeof(*entry) + size, trace_ctx); (sizeof(*entry) - sizeof(entry->caller)) + size, trace_ctx); if (!event) goto out; entry = ring_buffer_event_data(event); Loading Loading
kernel/trace/ftrace.c +6 −3 Original line number Diff line number Diff line Loading @@ -3231,6 +3231,7 @@ ftrace_allocate_pages(unsigned long num_to_init) pg = start_pg; while (pg) { order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); start_pg = pg->next; kfree(pg); Loading Loading @@ -6418,6 +6419,7 @@ void ftrace_release_mod(struct module *mod) clear_mod_from_hashes(pg); order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); tmp_page = pg->next; kfree(pg); Loading Loading @@ -6778,6 +6780,7 @@ void ftrace_free_mem(struct module *mod, void *start_ptr, void *end_ptr) if (!pg->index) { *last_pg = pg->next; order = get_count_order(pg->size / ENTRIES_PER_PAGE); if (order >= 0) free_pages((unsigned long)pg->records, order); ftrace_number_of_pages -= 1 << order; ftrace_number_of_groups--; Loading
kernel/trace/trace.c +2 −1 Original line number Diff line number Diff line Loading @@ -2985,7 +2985,8 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, size = nr_entries * sizeof(unsigned long); event = __trace_buffer_lock_reserve(buffer, TRACE_STACK, sizeof(*entry) + size, trace_ctx); (sizeof(*entry) - sizeof(entry->caller)) + size, trace_ctx); if (!event) goto out; entry = ring_buffer_event_data(event); Loading