memory: omap-gpmc: Fix a couple off by ones
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 25 Aug 2020 10:47:07 +0000 (13:47 +0300)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 26 Aug 2020 18:22:12 +0000 (20:22 +0200)
These comparisons should be >= instead of > to prevent reading one
element beyond the end of the gpmc_cs[] array.

Fixes: cdd6928c589a ("ARM: OMAP2+: Add device-tree support for NOR flash")
Fixes: f37e4580c409 ("ARM: OMAP2: Dynamic allocator for GPMC memory space")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Link: https://lore.kernel.org/r/20200825104707.GB278587@mwanda
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/memory/omap-gpmc.c

index ce0e7e2..2cd7ddf 100644 (file)
@@ -990,7 +990,7 @@ static int gpmc_cs_remap(int cs, u32 base)
        int ret;
        u32 old_base, size;
 
-       if (cs > gpmc_cs_num) {
+       if (cs >= gpmc_cs_num) {
                pr_err("%s: requested chip-select is disabled\n", __func__);
                return -ENODEV;
        }
@@ -1025,7 +1025,7 @@ int gpmc_cs_request(int cs, unsigned long size, unsigned long *base)
        struct resource *res = &gpmc->mem;
        int r = -1;
 
-       if (cs > gpmc_cs_num) {
+       if (cs >= gpmc_cs_num) {
                pr_err("%s: requested chip-select is disabled\n", __func__);
                return -ENODEV;
        }