From: Neil Brown <neilb@cse.unsw.edu.au>

Fix an off-by-one in the r1buf_pool_alloc() ENOMEM error recovery path.


---

 25-akpm/drivers/md/raid1.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/md/raid1.c~raid1-bio_put-oops-fix drivers/md/raid1.c
--- 25/drivers/md/raid1.c~raid1-bio_put-oops-fix	Fri Feb 27 14:13:20 2004
+++ 25-akpm/drivers/md/raid1.c	Fri Feb 27 14:14:02 2004
@@ -104,8 +104,8 @@ out_free_pages:
 	for ( ; i > 0 ; i--)
 		__free_page(bio->bi_io_vec[i-1].bv_page);
 out_free_bio:
-	while ( j < conf->raid_disks )
-		bio_put(r1_bio->bios[++j]);
+	while ( ++j < conf->raid_disks )
+		bio_put(r1_bio->bios[j]);
 	r1bio_pool_free(r1_bio, conf->mddev);
 	return NULL;
 }

_