On 10/01/2018 09:44 AM, Dan Carpenter wrote: > The "count < sizeof(struct os_area_db)" comparison is type promoted to > size_t so negative values of "count" are treated as very high values and > we accidentally return success instead of a negative error code. > > This doesn't really change runtime much but it fixes a static checker > warning. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > diff --git a/arch/powerpc/platforms/ps3/os-area.c b/arch/powerpc/platforms/ps3/os-area.c > index cdbfc5cfd6f3..f5387ad82279 100644 > --- a/arch/powerpc/platforms/ps3/os-area.c > +++ b/arch/powerpc/platforms/ps3/os-area.c > @@ -664,7 +664,7 @@ static int update_flash_db(void) > db_set_64(db, &os_area_db_id_rtc_diff, saved_params.rtc_diff); > > count = os_area_flash_write(db, sizeof(struct os_area_db), pos); > - if (count < sizeof(struct os_area_db)) { > + if (count < 0 || count < sizeof(struct os_area_db)) { > pr_debug("%s: os_area_flash_write failed %zd\n", __func__, > count); > error = count < 0 ? count : -EIO; > Seems OK. Acked-by: Geoff Levand <geoff@xxxxxxxxxxxxx>