diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index b36231866336a4895a69148b9241db5c0f9590f6..0a3988a25aabbfafff455f874e5850861e6da9eb 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1906,10 +1906,9 @@ static int process_checks(struct r1bio *r1_bio)
 			else
 				bi->bv_len = size;
 			size -= PAGE_SIZE;
-			memcpy(page_address(bi->bv_page),
-			       page_address(pbio->bi_io_vec[j].bv_page),
-			       PAGE_SIZE);
 		}
+
+		bio_copy_data(sbio, pbio);
 	}
 	return 0;
 }