Todd reported swapoff kernel BUG at filemap.c:122 to LKML 24 May.Other problems on that system may have contributed, but yes, despite__delete_from_swap_cache doing ClearPageDirty before __remove_inode_pageto avoid the BUG(), a concurrent __free_pte might race to SetPageDirty.So skip that oops in PageSwapCache case (please, if someone wants to useunlikely or BUG_ON there, do so in your later patch). Remove the priorClearPageDirty? maybe but not without deeper thought: let stay for now.