]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ubi: fastmap: Free fastmap next anchor peb during detach
authorZhihao Cheng <chengzhihao1@huawei.com>
Tue, 7 Jul 2020 13:41:01 +0000 (21:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 11:15:13 +0000 (13:15 +0200)
[ Upstream commit c3fc1a3919e35a9d8157ed3ae6fd0a478293ba2c ]

ubi_wl_entry related with the fm_next_anchor PEB is not freed during
detach, which causes a memory leak.
Don't forget to release fm_next_anchor PEB while detaching ubi from
mtd when CONFIG_MTD_UBI_FASTMAP is enabled.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Fixes: 4b68bf9a69d22d ("ubi: Select fastmap anchor PEBs considering...")
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/ubi/fastmap-wl.c

index 83afc00e365a570ce53943c578b99b3b6e38a697..28f55f9cf71533a54f2f83578b2f8f30a176d55a 100644 (file)
@@ -381,6 +381,11 @@ static void ubi_fastmap_close(struct ubi_device *ubi)
                ubi->fm_anchor = NULL;
        }
 
+       if (ubi->fm_next_anchor) {
+               return_unused_peb(ubi, ubi->fm_next_anchor);
+               ubi->fm_next_anchor = NULL;
+       }
+
        if (ubi->fm) {
                for (i = 0; i < ubi->fm->used_blocks; i++)
                        kfree(ubi->fm->e[i]);