Use kobject_is_added() instead of directly accessing the internal variables of kobject. BTW kill kobject_del() directly, because kobject_put() actually covers kobject removal automatically. Signed-off-by: Yangtao Li <frank.li@xxxxxxxx> --- fs/erofs/sysfs.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/erofs/sysfs.c b/fs/erofs/sysfs.c index 435e515c0792..daac23e32026 100644 --- a/fs/erofs/sysfs.c +++ b/fs/erofs/sysfs.c @@ -240,8 +240,7 @@ void erofs_unregister_sysfs(struct super_block *sb) { struct erofs_sb_info *sbi = EROFS_SB(sb); - if (sbi->s_kobj.state_in_sysfs) { - kobject_del(&sbi->s_kobj); + if (kobject_is_added(&sbi->s_kobj)) { kobject_put(&sbi->s_kobj); wait_for_completion(&sbi->s_kobj_unregister); } -- 2.35.1