From 5c6c8aa2804fe3ae1e50a7294a8bcffd7de258ca Mon Sep 17 00:00:00 2001 From: Robert Richter Date: Wed, 7 Jan 2009 15:32:11 +0100 Subject: [PATCH] --- yaml --- r: 128220 b: refs/heads/master c: 465634adc1d09b490c8ee31885575be39d375d53 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/trace/ring_buffer.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9999fbeaaf25..da38af106e5f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1acda878e20ea0cd3708ba66dca67d52eaafdd2b +refs/heads/master: 465634adc1d09b490c8ee31885575be39d375d53 diff --git a/trunk/kernel/trace/ring_buffer.c b/trunk/kernel/trace/ring_buffer.c index 30d57dd01a85..d42b882dfe4b 100644 --- a/trunk/kernel/trace/ring_buffer.c +++ b/trunk/kernel/trace/ring_buffer.c @@ -117,7 +117,13 @@ rb_event_length(struct ring_buffer_event *event) */ unsigned ring_buffer_event_length(struct ring_buffer_event *event) { - return rb_event_length(event); + unsigned length = rb_event_length(event); + if (event->type != RINGBUF_TYPE_DATA) + return length; + length -= RB_EVNT_HDR_SIZE; + if (length > RB_MAX_SMALL_DATA + sizeof(event->array[0])) + length -= sizeof(event->array[0]); + return length; } EXPORT_SYMBOL_GPL(ring_buffer_event_length);