bugcheck. It's needed - if the page had locked buffers here we'd do a lock_buffer() inside spinlock. ===================================== --- 2.4.19-pre6/mm/swap_state.c~aa-190-block_flushpage_check Fri Apr 5 01:08:03 2002 +++ 2.4.19-pre6-akpm/mm/swap_state.c Fri Apr 5 01:08:03 2002 @@ -117,7 +117,9 @@ void delete_from_swap_cache(struct page if (!PageLocked(page)) BUG(); - block_flushpage(page, 0); + if (!block_flushpage(page, 0)) + /* an anonymous page cannot have page->buffers set */ + BUG(); entry.val = page->index;