firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Tue, 13 Jun 2023 21:15:21 +0000 (16:15 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Jun 2023 11:42:18 +0000 (13:42 +0200)
svc_create_memory_pool() is only called from stratix10_svc_drv_probe().
Most of resources in the probe are managed, but not this memremap() call.

There is also no memunmap() call in the file.

So switch to devm_memremap() to avoid a resource leak.

Cc: stable@vger.kernel.org
Fixes: 7ca5ce896524 ("firmware: add Intel Stratix10 service layer driver")
Link: https://lore.kernel.org/all/783e9dfbba34e28505c9efa8bba41f97fd0fa1dc.1686109400.git.christophe.jaillet@wanadoo.fr/
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
Message-ID: <20230613211521.16366-1-dinguyen@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/stratix10-svc.c

index 80f4e2d..2d67412 100644 (file)
@@ -755,7 +755,7 @@ svc_create_memory_pool(struct platform_device *pdev,
        end = rounddown(sh_memory->addr + sh_memory->size, PAGE_SIZE);
        paddr = begin;
        size = end - begin;
-       va = memremap(paddr, size, MEMREMAP_WC);
+       va = devm_memremap(dev, paddr, size, MEMREMAP_WC);
        if (!va) {
                dev_err(dev, "fail to remap shared memory\n");
                return ERR_PTR(-EINVAL);