diff options
| author | Julia Lawall <julia@diku.dk> | 2010-08-11 12:11:24 +0200 | 
|---|---|---|
| committer | James Bottomley <James.Bottomley@suse.de> | 2010-09-05 14:55:57 -0300 | 
| commit | 1c1acab0367d88ad5da2b9db2efdf2699113ec88 (patch) | |
| tree | 4700774d95245bdc1c8038b8dff50dea7e087a7a | |
| parent | fc91961ce520ed7faa32aa01d0f7a82601bc4796 (diff) | |
| download | olio-linux-3.10-1c1acab0367d88ad5da2b9db2efdf2699113ec88.tar.xz olio-linux-3.10-1c1acab0367d88ad5da2b9db2efdf2699113ec88.zip  | |
[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.c | 4 | 
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)  		goto out;  	mem = kmalloc(iocpage2sz, GFP_KERNEL); -	if (!mem) +	if (!mem) { +		rc = -ENOMEM;  		goto out; +	}  	memcpy(mem, (u8 *)pIoc2, iocpage2sz);  	ioc->raid_data.pIocPg2 = (IOCPage2_t *) mem;  |