Hugh's much-discussed check for releasing pages which are still on the LRU. ===================================== --- 2.4.19-pre6/mm/page_alloc.c~aa-160-lru_release_check Fri Apr 5 01:08:01 2002 +++ 2.4.19-pre6-akpm/mm/page_alloc.c Fri Apr 5 01:08:01 2002 @@ -101,8 +101,11 @@ static void __free_pages_ok (struct page /* Yes, think what happens when other parts of the kernel take * a reference to a page in order to pin it for io. -ben */ - if (PageLRU(page)) + if (PageLRU(page)) { + if (unlikely(in_interrupt())) + BUG(); lru_cache_del(page); + } if (page->buffers) BUG();