If an alloc_page() call fails in init_pages(), unlock all locked
pages before freeing them. [Kevin Corry]
--- diff/drivers/md/kcopyd.c	2003-06-17 10:05:34.000000000 +0100
+++ source/drivers/md/kcopyd.c	2003-06-17 10:06:33.000000000 +0100
@@ -65,8 +65,10 @@
 	return 0;
 
       bad:
-	while (i--)
+	while (i--) {
+		UnlockPage(_pages_array[i]);
 		__free_page(_pages_array[i]);
+	}
 	return -ENOMEM;
 }
 
