Commit-ID: 9b7ff384ee76ced9638ab236db588a6f13916336 Gitweb: http://git.kernel.org/tip/9b7ff384ee76ced9638ab236db588a6f13916336 Author: Vegard Nossum <vegard.nossum@xxxxxxxxx> AuthorDate: Sat, 28 Feb 2009 08:29:44 +0100 Commit: Vegard Nossum <vegard.nossum@xxxxxxxxx> CommitDate: Sat, 28 Feb 2009 08:29:44 +0100 trace: annotate bitfields in struct ring_buffer_event This gets rid of a heap of false-positive warnings from the tracer code due to the use of bitfields. Signed-off-by: Vegard Nossum <vegard.nossum@xxxxxxxxx> --- include/linux/ring_buffer.h | 6 +++++- kernel/trace/ring_buffer.c | 3 +++ 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/include/linux/ring_buffer.h b/include/linux/ring_buffer.h index b3b3596..1f49883 100644 --- a/include/linux/ring_buffer.h +++ b/include/linux/ring_buffer.h @@ -1,6 +1,7 @@ #ifndef _LINUX_RING_BUFFER_H #define _LINUX_RING_BUFFER_H +#include <linux/kmemcheck.h> #include <linux/mm.h> #include <linux/seq_file.h> @@ -11,7 +12,10 @@ struct ring_buffer_iter; * Don't reference this struct directly, use functions below. */ struct ring_buffer_event { - u32 type:2, len:3, time_delta:27; + kmemcheck_define_bitfield(bitfield, { + u32 type:2, len:3, time_delta:27; + }); + u32 array[]; }; diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index bd38c5c..b1f2f60 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -7,6 +7,7 @@ #include <linux/spinlock.h> #include <linux/debugfs.h> #include <linux/uaccess.h> +#include <linux/kmemcheck.h> #include <linux/module.h> #include <linux/percpu.h> #include <linux/mutex.h> @@ -1060,6 +1061,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer, if (tail < BUF_PAGE_SIZE) { /* Mark the rest of the page with padding */ event = __rb_page_index(tail_page, tail); + kmemcheck_annotate_bitfield(event->bitfield); event->type = RINGBUF_TYPE_PADDING; } @@ -1089,6 +1091,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer, return NULL; event = __rb_page_index(tail_page, tail); + kmemcheck_annotate_bitfield(event->bitfield); rb_update_event(event, type, length); /* -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html