From: Bijan Mottahedeh Date: Tue, 15 Mar 2016 09:21:51 +0000 (-0700) Subject: vds_blk_rw() should check bio_alloc() NULL return value X-Git-Tag: v4.1.12-92~74^2~21 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=16de51f56703ceeb460b7d552706431c55db73a5;p=users%2Fjedix%2Flinux-maple.git vds_blk_rw() should check bio_alloc() NULL return value Orabug: 22934031 Signed-off-by: Bijan Mottahedeh (cherry picked from commit fec4ca1085a268c38a4a12c6119322aaf2f87698) (cherry picked from commit d590a3711158228194ea31da0f1fea612bd13c05) Signed-off-by: Allen Pais --- diff --git a/drivers/block/vds/vds_blk.c b/drivers/block/vds/vds_blk.c index d71f545f449a0..38c762c5a1c41 100644 --- a/drivers/block/vds/vds_blk.c +++ b/drivers/block/vds/vds_blk.c @@ -1,7 +1,7 @@ /* * vds_blk.c: LDOM Virtual Disk Server. * - * Copyright (C) 2014, 2015 Oracle. All rights reserved. + * Copyright (C) 2014, 2016 Oracle. All rights reserved. */ #include "vds.h" @@ -116,6 +116,11 @@ static int vds_blk_rw(struct vds_io *io) */ while (resid) { bio = bio_alloc(GFP_NOIO, npages); + if (!bio) { + vdsmsg(err, "bio_alloc failed: npages=%d\n", npages); + err = -EIO; + break; + } bio->bi_iter.bi_sector = offset + (size - resid); bio->bi_bdev = bdev; bio->bi_end_io = vds_blk_end_io;