Commit 1c1acab0 authored by Julia Lawall's avatar Julia Lawall Committed by James Bottomley

[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: default avatarJulia Lawall <julia@diku.dk>
Acked-by: default avatar"Desai, Kashyap" <Kashyap.Desai@lsi.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent fc91961c
...@@ -5945,8 +5945,10 @@ mpt_findImVolumes(MPT_ADAPTER *ioc) ...@@ -5945,8 +5945,10 @@ mpt_findImVolumes(MPT_ADAPTER *ioc)
goto out; goto out;
mem = kmalloc(iocpage2sz, GFP_KERNEL); mem = kmalloc(iocpage2sz, GFP_KERNEL);
if (!mem) if (!mem) {
rc = -ENOMEM;
goto out; goto out;
}
memcpy(mem, (u8 *)pIoc2, iocpage2sz); memcpy(mem, (u8 *)pIoc2, iocpage2sz);
ioc->raid_data.pIocPg2 = (IOCPage2_t *) mem; ioc->raid_data.pIocPg2 = (IOCPage2_t *) mem;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment