On Sat, Oct 07, 2017 at 09:36:48AM +0800, Jia-Ju Bai wrote: > According to fs/aio.c, cond_resched is called under a spinlock, > and the function call path is: > aio_migratepage (acquire the spinlock) > migrate_page_copy > copy_huge_page > __copy_gigantic_page > cond_resched > might_sleep > > This bug is found by my static analysis tool and my code review. > A possible fix is to remove cond_resched in __copy_gigantic_page. How the hell would a huge page end up in page cache of inode created by aio_private_file()???