On Thu, Sep 30, 2021 at 2:28 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > This check has a signedness bug and does not work. If "length" is > larger than "PAGE_SIZE" then "PAGE_SIZE - length" is not negative > but instead it is a large unsigned value. Fortunately, Takashi Iwai > changed this code to use scnprint() instead of snprintf() so now > "length" is never larger than "PAGE_SIZE - 1" and the check can be > removed. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > drivers/thermal/intel/int340x_thermal/int3400_thermal.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c > index 19926beeb3b7..8502b7d8df89 100644 > --- a/drivers/thermal/intel/int340x_thermal/int3400_thermal.c > +++ b/drivers/thermal/intel/int340x_thermal/int3400_thermal.c > @@ -129,11 +129,10 @@ static ssize_t available_uuids_show(struct device *dev, > > for (i = 0; i < INT3400_THERMAL_MAXIMUM_UUID; i++) { > if (priv->uuid_bitmap & (1 << i)) > - if (PAGE_SIZE - length > 0) > - length += scnprintf(&buf[length], > - PAGE_SIZE - length, > - "%s\n", > - int3400_thermal_uuids[i]); > + length += scnprintf(&buf[length], > + PAGE_SIZE - length, > + "%s\n", > + int3400_thermal_uuids[i]); > } > > return length; > -- Applied as 5.16 material, thanks!