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
> >