linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next] x86/events:Use struct_size() helper in kzalloc()
@ 2022-05-18 13:16 Lin Yujun
  2022-05-18 13:49 ` Gustavo A. R. Silva
  0 siblings, 1 reply; 6+ messages in thread
From: Lin Yujun @ 2022-05-18 13:16 UTC (permalink / raw)
  To: peterz, mingo, acme, mark.rutland, alexander.shishkin, jolsa,
	namhyung, tglx, bp, dave.hansen, x86, hpa
  Cc: linux-perf-users, linux-kernel, gustavoars, johnny.chenyi,
	chenjiahao16, chenlifu, lizhengyu3, liaochang1, linyujun809,
	wangzhu9, xuyihang, chris.zjh, zouyipeng

Replace sizeof() with struct_size() to avoid potential integer
or heap overflow.

Also, address the following sparse warnings:
arch/x86/events/rapl.c:685:16: warning: using sizeof on a
flexible structure

Signed-off-by: Lin Yujun <linyujun809@huawei.com>
---
 arch/x86/events/rapl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c
index 77e3a47af5ad..c7e79f0ac04f 100644
--- a/arch/x86/events/rapl.c
+++ b/arch/x86/events/rapl.c
@@ -685,7 +685,7 @@ static int __init init_rapl_pmus(void)
 	int maxdie = topology_max_packages() * topology_max_die_per_package();
 	size_t size;
 
-	size = sizeof(*rapl_pmus) + maxdie * sizeof(struct rapl_pmu *);
+	size = struct_size(rapl_pmus, pmus, maxdie);
 	rapl_pmus = kzalloc(size, GFP_KERNEL);
 	if (!rapl_pmus)
 		return -ENOMEM;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-05-19  2:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-18 13:16 [PATCH -next] x86/events:Use struct_size() helper in kzalloc() Lin Yujun
2022-05-18 13:49 ` Gustavo A. R. Silva
2022-05-18 13:55   ` Peter Zijlstra
2022-05-18 16:03     ` Gustavo A. R. Silva
2022-05-18 16:54       ` Borislav Petkov
2022-05-19  2:30   ` linyujun (C)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).