--- x/fs/btrfs/sysfs.c +++ y/fs/btrfs/sysfs.c @@ -2282,8 +2282,11 @@ int btrfs_sysfs_add_qgroups(struct btrfs ret = kobject_init_and_add(fs_info->qgroups_kobj, &qgroups_ktype, fsid_kobj, "qgroups"); - if (ret < 0) - goto out; + if (ret < 0) { + kobject_put(fs_info->qgroups_kobj); + fs_info->qgroups_kobj = NULL; + return ret; + } rbtree_postorder_for_each_entry_safe(qgroup, next, &fs_info->qgroup_tree, node) {