[tip: perf/core] perf/x86/intel/bts: Replace offsetof() with struct_size()

tip-bot2 for Thorsten Blum posted 1 patch 8 months, 1 week ago
arch/x86/events/intel/bts.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[tip: perf/core] perf/x86/intel/bts: Replace offsetof() with struct_size()
Posted by tip-bot2 for Thorsten Blum 8 months, 1 week ago
The following commit has been merged into the perf/core branch of tip:

Commit-ID:     5c3627b6f0595f1ec27e6f5df903bd072e9b9136
Gitweb:        https://git.kernel.org/tip/5c3627b6f0595f1ec27e6f5df903bd072e9b9136
Author:        Thorsten Blum <thorsten.blum@linux.dev>
AuthorDate:    Sun, 13 Apr 2025 12:41:09 +02:00
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Sun, 13 Apr 2025 21:05:50 +02:00

perf/x86/intel/bts: Replace offsetof() with struct_size()

Use struct_size() to calculate the number of bytes to allocate for a new
bts_buffer. Compared to offsetof(), struct_size() provides additional
compile-time checks (e.g., __must_be_array()).

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20250413104108.49142-2-thorsten.blum@linux.dev
---
 arch/x86/events/intel/bts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/events/intel/bts.c b/arch/x86/events/intel/bts.c
index da03f53..16bc89c 100644
--- a/arch/x86/events/intel/bts.c
+++ b/arch/x86/events/intel/bts.c
@@ -101,7 +101,7 @@ bts_buffer_setup_aux(struct perf_event *event, void **pages,
 	if (overwrite && nr_buf > 1)
 		return NULL;
 
-	bb = kzalloc_node(offsetof(struct bts_buffer, buf[nr_buf]), GFP_KERNEL, node);
+	bb = kzalloc_node(struct_size(bb, buf, nr_buf), GFP_KERNEL, node);
 	if (!bb)
 		return NULL;