mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
mtd: virt_concat: fix use-after-free in mtd_virt_concat_destroy()
mtd_concat_destroy() frees item->concat so calling
mtd_virt_concat_put_mtd_devices(item->concat) after that leads to a
use-after-free.
Fix it by moving mtd_virt_concat_put_mtd_devices() before
mtd_concat_destroy().
Fixes: 43db6366fc ("mtd: Add driver for concatenating devices")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
1a8b2951ba
commit
4b45d7836b
|
|
@ -126,8 +126,8 @@ int mtd_virt_concat_destroy(struct mtd_info *mtd)
|
|||
if (concat->mtd.name) {
|
||||
del_mtd_device(&concat->mtd);
|
||||
kfree(concat->mtd.name);
|
||||
mtd_concat_destroy(&concat->mtd);
|
||||
mtd_virt_concat_put_mtd_devices(item->concat);
|
||||
mtd_concat_destroy(&concat->mtd);
|
||||
}
|
||||
|
||||
for (idx = 0; idx < item->count; idx++)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user