X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Fbio.c;h=d4f06327c810b163e2165455f6c0466c98b42f25;hb=15b49bee3a2b228370194f1b3ebc3db427cc9c94;hp=72ab251cdb9cd0c527b8c18c58f9ca6bca1ed621;hpb=5acfac5a6473b459ed38c0edf515be030f3b5874;p=linux-2.6-omap-h63xx.git diff --git a/fs/bio.c b/fs/bio.c index 72ab251cdb9..d4f06327c81 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -302,7 +302,7 @@ void bio_init(struct bio *bio) struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs) { struct bio *bio = NULL; - void *p; + void *uninitialized_var(p); if (bs) { p = mempool_alloc(bs->bio_pool, gfp_mask); @@ -463,10 +463,12 @@ struct bio *bio_clone(struct bio *bio, gfp_t gfp_mask) if (bio_integrity(bio)) { int ret; - ret = bio_integrity_clone(b, bio, fs_bio_set); + ret = bio_integrity_clone(b, bio, gfp_mask, fs_bio_set); - if (ret < 0) + if (ret < 0) { + bio_put(b); return NULL; + } } return b;