Thread (5 messages) 5 messages, 4 authors, 2012-09-06

Re: [patch] virtio-blk: fix NULL checking in virtblk_alloc_req()

From: Rusty Russell <hidden>
Date: 2012-09-06 03:07:52
Also in: kernel-janitors

Dan Carpenter [off-list ref] writes:
Smatch complains about the inconsistent NULL checking here.  Fix it to
return NULL on failure.

Signed-off-by: Dan Carpenter <redacted>
---
This is only needed in linux-next.
Nice!
quoted hunk ↗ jump to hunk
diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
index 2edfb5c..457db0c 100644
--- a/drivers/block/virtio_blk.c
+++ b/drivers/block/virtio_blk.c
@@ -90,10 +90,11 @@ static inline struct virtblk_req *virtblk_alloc_req(struct virtio_blk *vblk,
 	struct virtblk_req *vbr;
 
 	vbr = mempool_alloc(vblk->pool, gfp_mask);
-	if (vbr && use_bio)
-		sg_init_table(vbr->sg, vblk->sg_elems);
+	if (!vbr)
+		return NULL;
 
-	vbr->vblk = vblk;
+	if (use_bio)
+		sg_init_table(vbr->sg, vblk->sg_elems);
 
 	return vbr;
 }
But it turns out that "vbr->vblk = vblk;" assignment is important :)

Fixed and applied,
Rusty.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help