Re: Clarifying confusion of our variable placement rules caused by cleanup.h

From: Linus Torvalds

Date: Tue Nov 18 2025 - 14:14:43 EST


On Tue, 18 Nov 2025 at 11:05, Bart Van Assche <bvanassche@xxxxxxx> wrote:
>
> In a C++ style guide I found the following advice for type deduction:
>
> "Use type deduction only if it makes the code clearer to readers who
> aren't familiar with the project, or if it makes the code safer. Do not
> use it merely to avoid the inconvenience of writing an explicit type."

I don't think that's a bad rule, no. I don't think we should encourage
people to switch to automatic types just because they can, but I do
think there are situations where it makes sense and makes the code
simpler.

As mentioned, most of our automatic types currently are hidden in
helper macros. I think it typically works best in those, where you
effectively make them type-agnostic.

But I do think it also makes sense in various allocation scenarios,
where just repeating the same type multiple times adds no real upside.

It's not exactly uncommon to have code like this:

struct xyz *abc = kzalloc(sizeof(struct xyz), GPF_KERNEL);

and I don't think there's any actual *value* in stating that "struct
xyz" twice (or in stating the sizeof()).

Again: I don't think we should *push* people to do this, but I think
it's a reasonable thing to allow. And it's a situation where having
the declaration in the middle of the code really does make sense.

Linus