Messages in this thread | | | Date | Thu, 19 May 2022 10:30:40 +0800 | Subject | Re: [PATCH -next] x86/events:Use struct_size() helper in kzalloc() | From | "linyujun (C)" <> |
| |
Thank you for your suggestion. I will modify the patch according to your suggestion and make the v2 version.
Thanks -- LinYujun
在 2022/5/18 21:49, Gustavo A. R. Silva 写道: > On Wed, May 18, 2022 at 09:16:26PM +0800, Lin Yujun wrote: >> Replace sizeof() with struct_size() to avoid potential integer >> or heap overflow. > This is not exactly what the patch does. > > Your patch is replacing the open-coded calculation of the total amount > of memory to be allocated for rapl_pmus with struct_size(). > >> Also, address the following sparse warnings: >> arch/x86/events/rapl.c:685:16: warning: using sizeof on a >> flexible structure > This does not address this warning because struct_size() > still make use of sizeof on the struct-with-flex-array, > internally. > > So, the mention to the sparse warning should be removed from > this changelog text. > >> 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); > It seems that in this case, size could be entirely replaced by > struct_size(). > > Thanks > -- > Gustavo > .
| |