mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
mtd: mtdswap: remove debugfs stats file on teardown
mtdswap_add_debugfs() creates an mtdswap_stats debugfs file under the
per-MTD debugfs directory, but mtdswap_remove_dev() never removes it
before freeing the mtdswap_dev.
Store the returned dentry and remove it during device teardown before the
driver-private state is freed.
Fixes: a321590246 ("mtd: Add mtdswap block driver")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
This commit is contained in:
parent
a74e31d0a2
commit
66fb313581
|
|
@ -125,6 +125,7 @@ struct mtdswap_dev {
|
|||
|
||||
char *page_buf;
|
||||
char *oob_buf;
|
||||
struct dentry *debugfs_stats;
|
||||
};
|
||||
|
||||
struct mtdswap_oobdata {
|
||||
|
|
@ -1262,7 +1263,8 @@ static int mtdswap_add_debugfs(struct mtdswap_dev *d)
|
|||
if (IS_ERR_OR_NULL(root))
|
||||
return -1;
|
||||
|
||||
debugfs_create_file("mtdswap_stats", S_IRUSR, root, d, &mtdswap_fops);
|
||||
d->debugfs_stats = debugfs_create_file("mtdswap_stats", 0400, root,
|
||||
d, &mtdswap_fops);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1463,6 +1465,7 @@ static void mtdswap_remove_dev(struct mtd_blktrans_dev *dev)
|
|||
{
|
||||
struct mtdswap_dev *d = MTDSWAP_MBD_TO_MTDSWAP(dev);
|
||||
|
||||
debugfs_remove(d->debugfs_stats);
|
||||
del_mtd_blktrans_dev(dev);
|
||||
mtdswap_cleanup(d);
|
||||
kfree(d);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user