diff --git a/fs/erofs/sysfs.c b/fs/erofs/sysfs.c index 33e15fa63c82..dd122dd1c38b 100644 --- a/fs/erofs/sysfs.c +++ b/fs/erofs/sysfs.c @@ -204,9 +204,11 @@ void erofs_unregister_sysfs(struct super_block *sb) { struct erofs_sb_info *sbi = EROFS_SB(sb); - kobject_del(&sbi->s_kobj); - kobject_put(&sbi->s_kobj); - wait_for_completion(&sbi->s_kobj_unregister); + if (sbi->s_kobj.state_in_sysfs) { + kobject_del(&sbi->s_kobj); + kobject_put(&sbi->s_kobj); + wait_for_completion(&sbi->s_kobj_unregister); + } } int __init erofs_init_sysfs(void)