__purge_vmap_area_lazy (acquire the spinlock) cond_resched_lock ___might_sleep
In this situation, ___might_sleep may prints error log message because a spinlock is held.
A possible fix is to remove ___might_sleep in cond_resched_lock. This bug is found by my static analysis tool and my code review. Thanks, Jia-Ju Bai