Loading
mtd: docg3: fix use-after-free in docg3_release()
In docg3_release(), the docg3 pointer is obtained from cascade->floors[0]->priv before the loop that calls doc_release_device() on each floor. doc_release_device() frees the docg3 struct via kfree(docg3) at line 1881. After the loop, docg3->cascade->bch dereferences the already-freed pointer. Fix this by accessing cascade->bch directly, which is equivalent since docg3->cascade points back to the same cascade struct, and is already available as a local variable. This also removes the now-unused docg3 local variable. Fixes: c8ae3f74 ("lib/bch: Rework a little bit the exported function names") Cc: stable@vger.kernel.org Signed-off-by:James Kim <james010kim@gmail.com> Signed-off-by:
Miquel Raynal <miquel.raynal@bootlin.com>