

Hugh's much-discussed check for releasing pages which are still on the LRU.


=====================================

--- 2.4.19-pre4/mm/page_alloc.c~aa-160-lru_release_check	Tue Mar 26 23:11:34 2002
+++ 2.4.19-pre4-akpm/mm/page_alloc.c	Tue Mar 26 23:11:34 2002
@@ -102,8 +102,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();
