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

Reply via email to