On 2019-01-22 16:21:07 [+0100], Greg Kroah-Hartman wrote: > diff --git a/mm/backing-dev.c b/mm/backing-dev.c > index 8a8bb8796c6c..85ef344a9c67 100644 > --- a/mm/backing-dev.c > +++ b/mm/backing-dev.c > @@ -102,39 +102,25 @@ static int bdi_debug_stats_show(struct seq_file *m, void *v) > } > DEFINE_SHOW_ATTRIBUTE(bdi_debug_stats); > > -static int bdi_debug_register(struct backing_dev_info *bdi, const char *name) > +static void bdi_debug_register(struct backing_dev_info *bdi, const char *name) > { > - if (!bdi_debug_root) > - return -ENOMEM; > - > bdi->debug_dir = debugfs_create_dir(name, bdi_debug_root); If this fails then ->debug_dir is NULL > - if (!bdi->debug_dir) > - return -ENOMEM; > - > - bdi->debug_stats = debugfs_create_file("stats", 0444, bdi->debug_dir, > - bdi, &bdi_debug_stats_fops); > - if (!bdi->debug_stats) { > - debugfs_remove(bdi->debug_dir); > - bdi->debug_dir = NULL; > - return -ENOMEM; > - } > > - return 0; > + debugfs_create_file("stats", 0444, bdi->debug_dir, bdi, > + &bdi_debug_stats_fops); then this creates the stats file in the root folder and > } > > static void bdi_debug_unregister(struct backing_dev_info *bdi) > { > - debugfs_remove(bdi->debug_stats); > - debugfs_remove(bdi->debug_dir); > + debugfs_remove_recursive(bdi->debug_dir); this won't remove it. If you return for "debug_dir == NULL" then it is a nice cleanup. Sebastian