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; }