diff --git a/[refs] b/[refs] index d027b5e25db5..45c3184a5201 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a0ea8622918019ed76c0b85f5d0247809ba05a7c +refs/heads/master: f735b5eeb9fcbb001e0cf2a5296b19c4bbaec55f diff --git a/trunk/mm/bounce.c b/trunk/mm/bounce.c index bf0cf7c8387b..e590272fe7a8 100644 --- a/trunk/mm/bounce.c +++ b/trunk/mm/bounce.c @@ -198,8 +198,13 @@ static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, /* * irk, bounce it */ - if (!bio) - bio = bio_alloc(GFP_NOIO, (*bio_orig)->bi_vcnt); + if (!bio) { + unsigned int cnt = (*bio_orig)->bi_vcnt; + + bio = bio_alloc(GFP_NOIO, cnt); + memset(bio->bi_io_vec, 0, cnt * sizeof(struct bio_vec)); + } + to = bio->bi_io_vec + i;