[PATCH 1/6] Handle possible bio_alloc failure in md

DORMANTno replies

From: Nikanth Karthikesan <hidden>
Date: 2009-04-14 11:10:56
Also in: lkml

Handle possible bio_alloc failure in md.

Signed-off-by: Nikanth Karthikesan <redacted>

---


Index: linux-2.6/drivers/md/md.c
===================================================================
--- linux-2.6.orig/drivers/md/md.c
+++ linux-2.6/drivers/md/md.c
@@ -532,6 +532,9 @@ void md_super_write(mddev_t *mddev, mdk_
 	struct bio *bio = bio_alloc(GFP_NOIO, 1);
 	int rw = (1<<BIO_RW) | (1<<BIO_RW_SYNCIO) | (1<<BIO_RW_UNPLUG);
 
+	if (unlikely(!bio))
+		md_error(rdev->mddev, rdev);
+
 	bio->bi_bdev = rdev->bdev;
 	bio->bi_sector = sector;
 	bio_add_page(bio, page, size, 0);
@@ -587,6 +590,9 @@ int sync_page_io(struct block_device *bd
 	struct completion event;
 	int ret;
 
+	if (unlikely(!bio))
+		return 0;
+
 	rw |= (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG);
 
 	bio->bi_bdev = bdev;

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help