arch/i386/mm/pageattr.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff -puN arch/i386/mm/pageattr.c~unmap-page-debugging-fixes-2 arch/i386/mm/pageattr.c
--- 25/arch/i386/mm/pageattr.c~unmap-page-debugging-fixes-2	2003-04-14 23:43:13.000000000 -0700
+++ 25-akpm/arch/i386/mm/pageattr.c	2003-04-14 23:43:58.000000000 -0700
@@ -174,14 +174,13 @@ int change_page_attr(struct page *page, 
 
 void global_flush_tlb(void)
 { 
-	struct list_head l;
+	LIST_HEAD(l);
 	struct list_head* n;
 
 	BUG_ON(irqs_disabled());
 
 	spin_lock_irq(&cpa_lock);
-	l = df_list;
-	INIT_LIST_HEAD(&df_list);
+	list_splice_init(&df_list, &l);
 	spin_unlock_irq(&cpa_lock);
 	flush_map();
 	n = l.next;

_