Removed debug fs files and directory on failure. Since no one using "extfrag_debug_root" dentry outside of function extfrag_debug_init made it local to the function. Signed-off-by: Sasikanth V <sasikanth.v19@xxxxxxxxx> --- mm/vmstat.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mm/vmstat.c b/mm/vmstat.c index f600557..ddae476 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1220,7 +1220,6 @@ module_init(setup_vmstat) #if defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION) #include <linux/debugfs.h> -static struct dentry *extfrag_debug_root; /* * Return an index indicating how much of the available free memory is @@ -1358,17 +1357,23 @@ static const struct file_operations extfrag_file_ops = { static int __init extfrag_debug_init(void) { + struct dentry *extfrag_debug_root; + extfrag_debug_root = debugfs_create_dir("extfrag", NULL); if (!extfrag_debug_root) return -ENOMEM; if (!debugfs_create_file("unusable_index", 0444, - extfrag_debug_root, NULL, &unusable_file_ops)) + extfrag_debug_root, NULL, &unusable_file_ops)) { + debugfs_remove (extfrag_debug_root); return -ENOMEM; + } if (!debugfs_create_file("extfrag_index", 0444, - extfrag_debug_root, NULL, &extfrag_file_ops)) + extfrag_debug_root, NULL, &extfrag_file_ops)) { + debugfs_remove_recursive (extfrag_debug_root); return -ENOMEM; + } return 0; } -- 1.7.3.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>