X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=kernel%2Ftrace%2Fring_buffer.c;h=8b0daf0662ef45e7ad6ad9df71e52dfd3c3459ba;hb=4ce5f24193cef2e26f182ce708e94ba1f5fafc0c;hp=a9d9760dc7b62ae7d17894f815067ced748db2cd;hpb=7c51d57e9d7fbce89f79c41dc8da383101dbe9c6;p=linux-2.6-omap-h63xx.git diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index a9d9760dc7b..8b0daf0662e 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -168,7 +168,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);