]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 29 Oct 2020 09:12:01 +0000 (10:12 +0100)
[ Upstream commit 4c54228ac8fd55044195825873c50a524131fa53 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/memory/omap-gpmc.c

index ca0097664b12506d8a4a59b1d7396731dd2b823e..1e6d6e9434c8bb9f81a8b3ae00f7eb9c15481081 100644 (file)
@@ -943,7 +943,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;
        }
@@ -978,7 +978,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;
        }