lkml.org 
[lkml]   [2022]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -next] x86/events:Use struct_size() helper in kzalloc()
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

\
 
 \ /
  Last update: 2022-05-18 15:51    [W:0.090 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site