The debugfs_create_dir() function may fail and return error. If the root directory not created, we can't create anything inside it. This patch adds check for this case. Signed-off-by: Alexander Kuleshov <kuleshovmail@xxxxxxxxx> --- mm/backing-dev.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mm/backing-dev.c b/mm/backing-dev.c index dac5bf5..518d26a 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -117,15 +117,21 @@ static const struct file_operations bdi_debug_stats_fops = { static void bdi_debug_register(struct backing_dev_info *bdi, const char *name) { - bdi->debug_dir = debugfs_create_dir(name, bdi_debug_root); - bdi->debug_stats = debugfs_create_file("stats", 0444, bdi->debug_dir, - bdi, &bdi_debug_stats_fops); + if (bdi_debug_root) { + bdi->debug_dir = debugfs_create_dir(name, bdi_debug_root); + if (bdi->debug_dir) + bdi->debug_stats = debugfs_create_file("stats", 0444, + bdi->debug_dir, bdi, + &bdi_debug_stats_fops); + } } static void bdi_debug_unregister(struct backing_dev_info *bdi) { - debugfs_remove(bdi->debug_stats); - debugfs_remove(bdi->debug_dir); + if (bdi_debug_root) { + debugfs_remove(bdi->debug_stats); + debugfs_remove(bdi->debug_dir); + } } #else static inline void bdi_debug_init(void) -- 2.5.0 -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>