[PATCH 1/3] perf events: fix WARN_ON_ONCE for 64-bit raw data, SW events

From: David Ahern
Date: Fri Feb 18 2011 - 00:54:40 EST


This check does not work out for 64-bit counter:

sizeof(u32) + sizeof(u64) = 4 + 8 = 12

which does not pass the WARN_ON_ONCE test. I'm guessing (hoping
really) that the intent is that the size of the raw data is a
multiple of 4 bytes, not 8.

Signed-off-by: David Ahern <daahern@xxxxxxxxx>
---
kernel/perf_event.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index a0a6987..3280671 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4351,7 +4351,7 @@ void perf_prepare_sample(struct perf_event_header *header,
else
size += sizeof(u32);

- WARN_ON_ONCE(size & (sizeof(u64)-1));
+ WARN_ON_ONCE(size & (sizeof(u32)-1));
header->size += size;
}
}
--
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/