From: Neil Brown 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; } _