[PATCH] ubi: fastmap: fix ubi->fm memory leak
Liyuan Pang
pangliyuan1 at huawei.com
Fri Nov 7 01:38:43 PST 2025
>>> â¦
>>>> +++ b/drivers/mtd/ubi/fastmap.c
>>>> @@ -1644,3 +1644,15 @@ int ubi_update_fastmap(struct ubi_device *ubi)
>>> â¦
>>>> +void ubi_free_fastmap(struct ubi_device *ubi)
>>>> +{
>>>> + int i;
>>>> +
>>>> + if (ubi->fm) {
>>> + for (i = 0; i < ubi->fm->used_blocks; i++)
>>> + kmem_cache_free(ubi_wl_entry_slab, ubi->fm->e[i]);
>>> â¦
>>> + }
>>> +}
>>> â¦
>>>
>>> May the local variable âiâ be defined in the loop header?
>>
>> I think it's better to leave it as it is, most of the code in
>> ubi defines variables outside the loop header, and defining
>> "i" in the loop header may cause compilation error in some old
>> kernel versions that use C89.
>
>Would you support to reduce the scope for such a variable to
>the code block of the if branch?
Ok, I will send a v2 patch.
Regards,
Liyuan
More information about the linux-mtd
mailing list