summaryrefslogtreecommitdiffstats
path: root/arch/x86/events/rapl.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2023-10-06 22:17:54 +0200
committerIngo Molnar <mingo@kernel.org>2023-10-08 12:18:17 +0200
commita56d5551e1993ca84dd0c69df5a3d8223d13fb5f (patch)
treeb5e1fe687acf191a9ba9e8762c2f73be91c00ff4 /arch/x86/events/rapl.c
parentperf/core: Rename perf_proc_update_handler() -> perf_event_max_sample_rate_ha... (diff)
downloadlinux-a56d5551e1993ca84dd0c69df5a3d8223d13fb5f.tar.xz
linux-a56d5551e1993ca84dd0c69df5a3d8223d13fb5f.zip
perf/x86/rapl: Annotate 'struct rapl_pmus' with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by attribute. Flexible array members annotated with __counted_by can have their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS=y (for array indexing) and CONFIG_FORTIFY_SOURCE=y (for strcpy/memcpy-family functions). Found with Coccinelle: https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci [1] Add __counted_by for 'struct rapl_pmus'. No change in functionality intended. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20231006201754.work.473-kees@kernel.org
Diffstat (limited to 'arch/x86/events/rapl.c')
-rw-r--r--arch/x86/events/rapl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c
index c2c37fb0a228..8d98d468b976 100644
--- a/arch/x86/events/rapl.c
+++ b/arch/x86/events/rapl.c
@@ -115,7 +115,7 @@ struct rapl_pmu {
struct rapl_pmus {
struct pmu pmu;
unsigned int maxdie;
- struct rapl_pmu *pmus[];
+ struct rapl_pmu *pmus[] __counted_by(maxdie);
};
enum rapl_unit_quirk {