Hi all, I am investigating the swap code, and I found the below possible race window: CPU 1 CPU 2 ----- ----- do_swap_page skip swapcache case (synchronous swap_readpage) alloc_page_vma swapoff release swap_file, bdev, or ... swap_readpage check sis->flags is ok access swap_file, bdev or ...[oops!] si->flags = 0 The swapcache case is ok because swapoff will wait on the page_lock of swapcache page. Is this will really happen or Am I miss something ? Any reply would be really grateful. Thanks! :)