Re: [PATCH] memory: omap-gpmc: fix coverity issue "Control flow issues"

From: Roger Quadros
Date: Wed Nov 09 2022 - 07:24:21 EST




On 09/11/2022 12:24, B. Niedermayr wrote:
> From: Benedikt Niedermayr <benedikt.niedermayr@xxxxxxxxxxx>
>
> Assign a big positive integer instead of an negative integer to an
> u32 variable. Also remove the check for ">= 0" which doesn't make sense
> for unsigned integers.
>
> Reported-by: coverity-bot <keescook+coverity-bot@xxxxxxxxxxxx>
> Addresses-Coverity-ID: 1527139 ("Control flow issues")
> Fixes: 89aed3cd5cb9 ("memory: omap-gpmc: wait pin additions")
> Signed-off-by: Benedikt Niedermayr <benedikt.niedermayr@xxxxxxxxxxx>

Reviewed-by: Roger Quadros <rogerq@xxxxxxxxxx>

> ---
> drivers/memory/omap-gpmc.c | 2 +-
> include/linux/platform_data/gpmc-omap.h | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
> index e427572712e2..57d9f91fe89b 100644
> --- a/drivers/memory/omap-gpmc.c
> +++ b/drivers/memory/omap-gpmc.c
> @@ -1045,7 +1045,7 @@ EXPORT_SYMBOL(gpmc_cs_free);
>
> static bool gpmc_is_valid_waitpin(u32 waitpin)
> {
> - return waitpin >= 0 && waitpin < gpmc_nr_waitpins;
> + return waitpin < gpmc_nr_waitpins;
> }
>
> static int gpmc_alloc_waitpin(struct gpmc_device *gpmc,
> diff --git a/include/linux/platform_data/gpmc-omap.h b/include/linux/platform_data/gpmc-omap.h
> index 296b080c5c67..dcca6c5e23bb 100644
> --- a/include/linux/platform_data/gpmc-omap.h
> +++ b/include/linux/platform_data/gpmc-omap.h
> @@ -137,11 +137,11 @@ struct gpmc_device_timings {
> #define GPMC_MUX_AD 2 /* Addr-Data multiplex */
>
> /* Wait pin polarity values */
> -#define GPMC_WAITPINPOLARITY_INVALID -1
> +#define GPMC_WAITPINPOLARITY_INVALID UINT_MAX
> #define GPMC_WAITPINPOLARITY_ACTIVE_LOW 0
> #define GPMC_WAITPINPOLARITY_ACTIVE_HIGH 1
>
> -#define GPMC_WAITPIN_INVALID -1
> +#define GPMC_WAITPIN_INVALID UINT_MAX
>
> struct gpmc_settings {
> bool burst_wrap; /* enables wrap bursting */

--
cheers,
-roger