Hello! z3fold_reclaim_page() contains the only return that may leave the function with pool->lock spinlock held.
669 spin_lock(&pool->lock);
670 if (kref_put(&zhdr->refcount, release_z3fold_page)) {
671 atomic64_dec(&pool->pages_nr);
672 return 0;
673 }
May be we need spin_unlock(&pool->lock); just before return?
Found by Linux Driver Verification project (linuxtesting.org).
--
Thank you,
Alexey Khoroshilov
Linux Verification Center, ISPRAS
web: http://linuxtesting.org

