summaryrefslogtreecommitdiff
path: root/scripts/objdiff
diff options
context:
space:
mode:
authorRuoyu Wang <ruoyuw560@gmail.com>2026-07-08 22:33:55 +0800
committerMiquel Raynal <miquel.raynal@bootlin.com>2026-07-17 17:49:23 +0200
commit779aa4c66a96bf43d2d62982ea1a9096a9128d87 (patch)
treead681d1de4fd1cea216a0d6df40a2ac209757292 /scripts/objdiff
parente9290031f736e99ad17c25c00311c92c266843b7 (diff)
downloadlinux-779aa4c66a96bf43d2d62982ea1a9096a9128d87.tar.gz
linux-779aa4c66a96bf43d2d62982ea1a9096a9128d87.zip
mtd: mtdswap: Avoid freeing registered blktrans device twice
In mtdswap_add_mtd(), debugfs setup failure after successful blktrans registration can free mbd_dev twice. add_mtd_blktrans_dev() initializes the blktrans device reference and publishes the disk. Once that succeeds, del_mtd_blktrans_dev() tears the disk down and drops the blktrans reference; when that reference reaches zero, blktrans_dev_release() frees the mtd_blktrans_dev. The debugfs failure path called del_mtd_blktrans_dev(mbd_dev), then fell through the common cleanup label and called kfree(mbd_dev) again. Clear the local pointer after deregistration so the common cleanup can still release the mtdswap state without freeing the blktrans object twice. This issue was found by a static analysis checker and confirmed by manual source review. Fixes: e8e3edb95ce6 ("mtd: create per-device and module-scope debugfs entries") Signed-off-by: Ruoyu Wang <ruoyuw560@gmail.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions