RE: [PATCH] ACPI: thermal: replace ternary operator with min_t()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Rafael J. Wysocki
> Sent: 30 March 2023 18:12
> 
> On Tue, Mar 28, 2023 at 5:17 AM Jiangshan Yi <yijiangshan@xxxxxxxxxx> wrote:
> >
> > Fix the following coccicheck warning:
> 
> This is not a fix, because the current code is correct AFAICS.
> 
> It merely makes the code follow the coccicheck recommendation, which
> is a cleanup (although arguably a good one).
> 
> But because the new code is way more readable, I've applied this as
> 6.4 material (with edits in the changelog).

Also if you need to use min_t() there is really something wrong
with your types.

> > drivers/acpi/thermal.c:422: WARNING opportunity for min().
> >
> > min_t() macro is defined in include/linux/minmax.h. It avoids multiple
> > evaluations of the arguments when non-constant and performs strict
> > type-checking.

min_t() casts the arguments and performs absolutely no type-checking.
The casts can even mask off high bits that ought to be checked.

	David

> >
> > Signed-off-by: Jiangshan Yi <yijiangshan@xxxxxxxxxx>
> > ---
> >  drivers/acpi/thermal.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
> > index 0b4b844f9d4c..179f41196a9d 100644
> > --- a/drivers/acpi/thermal.c
> > +++ b/drivers/acpi/thermal.c
> > @@ -419,10 +419,9 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
> >                                          * the next higher trip point
> >                                          */
> >                                         tz->trips.active[i-1].temperature =
> > -                                               (tz->trips.active[i-2].temperature <
> > -                                               celsius_to_deci_kelvin(act) ?
> > -                                               tz->trips.active[i-2].temperature :
> > -                                               celsius_to_deci_kelvin(act));
> > +                                               min_t(unsigned long,
> > +                                                     tz->trips.active[i-2].temperature,
> > +                                                     celsius_to_deci_kelvin(act));
> >
> >                                 break;
> >                         } else {
> > --
> > 2.25.1
> >

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux