Re: [PATCH 0/3] ALSA: use vmalloc_array() to simplify code

From: Philipp Stanner
Date: Mon Aug 25 2025 - 07:51:06 EST


On Mon, 2025-08-25 at 19:46 +0800, Qianfeng Rong wrote:
>
> 在 2025/8/25 19:01, Andy Shevchenko 写道:
> > On Sun, Aug 24, 2025 at 09:55:09PM +0800, Qianfeng Rong wrote:
> > > Remove array_size() calls and replace vmalloc() with vmalloc_array() to
> > > simplify the code and maintain consistency with existing kmalloc_array()
> > > usage.
> > >
> > > vmalloc_array() is also optimized better, resulting in less instructions
> > > being used [1].
> > Have you considered using sizeof(*...) where it makes sense?
> I believe that sizeof(*...) should preferably not be mixed with this patch;
> instead, it should be addressed in a separate, independent patch that
> covers all relevant instances.
>
> Additionally, I understand that not everyone prefers using sizeof(*...), as
> it reduces readability.  What do you think, Andy?

I agree that should be addressed in a separate patch, if at all.

As for sizeof(*foo), one gets used to it. I think it's preferred in the
kernel often because it's more difficult to introduce bugs like so:

long *foo;

foo = kmalloc(sizeof(long) * 9001);

When you later change long *foo to int *foo and forget about the malloc
place, you'll get an overflow.

foo = kmalloc(sizeof(*foo) …) can never have that problem.

Regards
P.


>
> Best regards,
> Qianfeng
> >