diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index b87ab105fa22..8c6b682b83b8 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2225,7 +2225,8 @@ static void __ftrace_trace_stack(struct ring_buffer *buffer, size *= sizeof(unsigned long); event = trace_buffer_lock_reserve(buffer, TRACE_STACK, - sizeof(*entry) + size, flags, pc); + (sizeof(*entry) - sizeof(entry->caller)) + size, + flags, pc); if (!event) goto out; entry = ring_buffer_event_data(event);