The MTD device reference is dropped via put_mtd_device, however its field ->index is read and passed to ubi_msg. To fix this, the patch moves the reference dropping after calling ubi_msg.
Signed-off-by: Pan Bian <bianpan2...@163.com> Reviewed-by: Boris Brezillon <boris.brezil...@bootlin.com> Signed-off-by: Richard Weinberger <rich...@nod.at> Upstream Linux commit: b95f83ab762dd6211351b9140f99f43644076ca8 Signed-off-by: Alexander Vickberg <wickbergs...@gmail.com> --- drivers/mtd/ubi/build.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index 50e43928af0..4881287dd6b 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -1152,10 +1152,10 @@ int ubi_detach_mtd_dev(int ubi_num, int anyway) ubi_wl_close(ubi); ubi_free_internal_volumes(ubi); vfree(ubi->vtbl); - put_mtd_device(ubi->mtd); vfree(ubi->peb_buf); vfree(ubi->fm_buf); ubi_msg(ubi, "mtd%d is detached", ubi->mtd->index); + put_mtd_device(ubi->mtd); put_device(&ubi->dev); return 0; } -- 2.43.0