If an alloc_page() call fails in init_pages(), unlock all locked
pages before freeing them. [Kevin Corry]
--- diff/drivers/md/kcopyd.c	2002-11-29 09:44:59.000000000 +0000
+++ source/drivers/md/kcopyd.c	2003-01-10 10:20:14.000000000 +0000
@@ -65,8 +65,10 @@
 	return 0;
 
       bad:
-	while (i--)
+	while (i--) {
+		UnlockPage(_pages_array[i]);
 		__free_page(_pages_array[i]);
+	}
 	return -ENOMEM;
 }