diff options
| author | Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> | 2026-06-16 03:14:39 -0700 |
|---|---|---|
| committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2026-06-29 16:40:13 +0200 |
| commit | 4b45d7836b9526b8776af5f29219615be9417230 (patch) | |
| tree | f90e7de61b12aed659297af4417058ce9218b4da /drivers/mtd | |
| parent | 1a8b2951ba3c35824ff4df0ea7d9f7a554c964a2 (diff) | |
| download | linux-next-4b45d7836b9526b8776af5f29219615be9417230.tar.gz linux-next-4b45d7836b9526b8776af5f29219615be9417230.zip | |
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: 43db6366fc2d ("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>
Diffstat (limited to 'drivers/mtd')
| -rw-r--r-- | drivers/mtd/mtd_virt_concat.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/mtd_virt_concat.c b/drivers/mtd/mtd_virt_concat.c index a3fb96788e9d..c872a8827718 100644 --- a/drivers/mtd/mtd_virt_concat.c +++ b/drivers/mtd/mtd_virt_concat.c @@ -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++) |
