From: Hugh Dickins Three of the four BUG_ONs in delete_from_swap_cache are immediately repeated in __delete_from_swap_cache: delete those and add the one. But perhaps mm/ is altogether overprovisioned with historic BUGs? Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton --- mm/swap_state.c | 6 +----- 1 files changed, 1 insertion(+), 5 deletions(-) diff -puN mm/swap_state.c~delete-from_swap_cache-bug_ons mm/swap_state.c --- devel/mm/swap_state.c~delete-from_swap_cache-bug_ons 2005-07-08 22:40:33.000000000 -0700 +++ devel-akpm/mm/swap_state.c 2005-07-08 22:40:33.000000000 -0700 @@ -124,6 +124,7 @@ void __delete_from_swap_cache(struct pag BUG_ON(!PageLocked(page)); BUG_ON(!PageSwapCache(page)); BUG_ON(PageWriteback(page)); + BUG_ON(PagePrivate(page)); radix_tree_delete(&swapper_space.page_tree, page->private); page->private = 0; @@ -196,11 +197,6 @@ void delete_from_swap_cache(struct page { swp_entry_t entry; - BUG_ON(!PageSwapCache(page)); - BUG_ON(!PageLocked(page)); - BUG_ON(PageWriteback(page)); - BUG_ON(PagePrivate(page)); - entry.val = page->private; write_lock_irq(&swapper_space.tree_lock); _