2023-05-23 00:53:13

by Thomas Gleixner

[permalink] [raw]
Subject: Re: + fix-mult_frac-multiple-argument-evaluation-bug.patch added to mm-nonmm-unstable branch

On Mon, May 22 2023 at 14:15, Andrew Morton wrote:
> ------------------------------------------------------
> From: Alexey Dobriyan <[email protected]>
> Subject: include/linux/math.h: fix mult_frac() multiple argument evaluation bug
> Date: Sat, 20 May 2023 21:25:19 +0300
>
> mult_frac() evaluates _all_ arguments multiple times in the body.

I'm not opposed to the patch, but to the description.

Multiple evaluation is not a bug per se.

Unless there is a reasonable explanation for the alleged bug this is
just a cosmetic exercise.

Changelogs have to be self explanatory and if the shortlog, aka
$subject, claims "bug" then there has to be a reasonable explanation
what the actual bug is.

Seriously.

All this is documented, but obviously documention for changelogs and the
acceptance of patches is just there to be ignored, right?

Thanks,

tglx


2023-05-23 08:57:40

by Alexey Dobriyan

[permalink] [raw]
Subject: Re: + fix-mult_frac-multiple-argument-evaluation-bug.patch added to mm-nonmm-unstable branch

On Tue, May 23, 2023 at 01:45:40AM +0200, Thomas Gleixner wrote:
> On Mon, May 22 2023 at 14:15, Andrew Morton wrote:
> > ------------------------------------------------------
> > From: Alexey Dobriyan <[email protected]>
> > Subject: include/linux/math.h: fix mult_frac() multiple argument evaluation bug
> > Date: Sat, 20 May 2023 21:25:19 +0300
> >
> > mult_frac() evaluates _all_ arguments multiple times in the body.
>
> I'm not opposed to the patch, but to the description.
>
> Multiple evaluation is not a bug per se.

It is kind of a bug if a macro pretends to be a function and is spelled in
lowercase.

> Unless there is a reasonable explanation for the alleged bug this is
> just a cosmetic exercise.

Most usages looks OK, and compiler tend to merge loads so even more
usages are OK. But formally this is not OK:

static inline unsigned long vfs_pressure_ratio(unsigned long val)
{
return mult_frac(val, sysctl_vfs_cache_pressure, 100);
}

> Changelogs have to be self explanatory and if the shortlog, aka
> $subject, claims "bug" then there has to be a reasonable explanation
> what the actual bug is.
>
> Seriously.
>
> All this is documented, but obviously documention for changelogs and the
> acceptance of patches is just there to be ignored, right?

I don't want to return to kindergarten and document problem which every
C programmer learns exploring MIN(a, b).

2023-05-23 10:48:55

by Thomas Gleixner

[permalink] [raw]
Subject: Re: + fix-mult_frac-multiple-argument-evaluation-bug.patch added to mm-nonmm-unstable branch

On Tue, May 23 2023 at 11:48, Alexey Dobriyan wrote:
> On Tue, May 23, 2023 at 01:45:40AM +0200, Thomas Gleixner wrote:
>> Changelogs have to be self explanatory and if the shortlog, aka
>> $subject, claims "bug" then there has to be a reasonable explanation
>> what the actual bug is.
>>
>> Seriously.
>>
>> All this is documented, but obviously documention for changelogs and the
>> acceptance of patches is just there to be ignored, right?
>
> I don't want to return to kindergarten and document problem which every
> C programmer learns exploring MIN(a, b).

A quick summary what the bug is, is _not_ kindergarten level.

Why does a reviewer have to do his own analysis at the patch level to
figure out what this solves and fixes?

It's 20 seconds of courtesy on the submitter side which saves a lot of
time on the reviewer and maintainer side.

Thanks,

tglx