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.carpen...@oracle.com>
> 
> 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 <ge...@infradead.org>

Reply via email to