According to fs/super.c, the kernel may sleep under a spinlock. The function call path is: put_super (acquire the spinlock) __put_super destroy_super list_lru_destroy list_lru_unregister mutex_lock --> may sleep memcg_get_cache_ids down_read --> may sleep This bug is found by my static analysis tool and my code review. Thanks, Jia-Ju Bai