aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2010-08-11 06:11:24 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-09-05 13:55:57 -0400
commit1c1acab0367d88ad5da2b9db2efdf2699113ec88 (patch)
tree4700774d95245bdc1c8038b8dff50dea7e087a7a
parentfc91961ce520ed7faa32aa01d0f7a82601bc4796 (diff)
[SCSI] drivers/message/fusion: Return -ENOMEM on memory allocation failure
In this code, 0 is returned on memory allocation failure, even though other failures return -ENOMEM or other similar values. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression ret; expression x,e1,e2,e3; @@ ret = 0 ... when != ret = e1 *x = \(kmalloc\|kcalloc\|kzalloc\)(...) ... when != ret = e2 if (x == NULL) { ... when != ret = e3 return ret; } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: "Desai, Kashyap" <Kashyap.Desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/message/fusion/mptbase.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 6837a8ef937..3e57b61ca44 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -5945,8 +5945,10 @@ mpt_findImVolumes(MPT_ADAPTER *ioc)
5945 goto out; 5945 goto out;
5946 5946
5947 mem = kmalloc(iocpage2sz, GFP_KERNEL); 5947 mem = kmalloc(iocpage2sz, GFP_KERNEL);
5948 if (!mem) 5948 if (!mem) {
5949 rc = -ENOMEM;
5949 goto out; 5950 goto out;
5951 }
5950 5952
5951 memcpy(mem, (u8 *)pIoc2, iocpage2sz); 5953 memcpy(mem, (u8 *)pIoc2, iocpage2sz);
5952 ioc->raid_data.pIocPg2 = (IOCPage2_t *) mem; 5954 ioc->raid_data.pIocPg2 = (IOCPage2_t *) mem;