diff options
| author | 2009-01-11 03:03:30 +0100 | |
|---|---|---|
| committer | 2009-01-11 03:03:30 +0100 | |
| commit | f45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89 (patch) | |
| tree | 8e05bccd7b85fc3dd2fbd33ec3286de27e152819 /kernel/trace | |
| parent | x86, mtrr: fix types used in userspace exported header (diff) | |
| parent | Linux 2.6.29-rc1 (diff) | |
Merge commit 'v2.6.29-rc1' into x86/urgent
Diffstat (limited to 'kernel/trace')
| -rw-r--r-- | kernel/trace/ring_buffer.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index a9d9760dc7b6..8b0daf0662ef 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); |
