drivers/scsi/aic94xx/aic94xx_init.c: correct the size argument to kmalloc
PATCH 17/26 drivers/scsi/aic94xx/aic94xx_init.c: correct the size argument to kmalloc
From: Julia Lawall <[email protected]>
In each case, the destination of the allocation has type struct **, so the elements of the array should have pointer type, not structure type.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@disable sizeof_type_expr@
type T;
T **x;
@@
x =
<+...sizeof(
- T
+ *x
)...+>
// </smpl>
Signed-off-by Julia Lawall <[email protected]>
Cc Rolf Eike Beer <[email protected]>
Cc Joe Perches <[email protected]>
Cc James Bottomley <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
drivers/scsi/aic94xx/aic94xx_init.c | 4 ++-- drivers/scsi/ch.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/scsi/aic94xx/aic94xx_init.c renamed from drivers/scsi/aic94xx/aic94xx_init.c~drivers-scsi-correct-the-size-argument-to-kmalloc +2 -2
@@ -687,9 +687,9 @@ static int asd_register_sas_ha(struct as {int i;struct asd_sas_phy **sas_phys = -kmalloc (ASD_MAX_PHYS *sizeof (struct asd_sas_phy ),GFP_KERNEL ); +kcalloc (ASD_MAX_PHYS ,sizeof (*sas_phys),GFP_KERNEL );struct asd_sas_port **sas_ports = -kmalloc (ASD_MAX_PHYS *sizeof (struct asd_sas_port ),GFP_KERNEL ); +kcalloc (ASD_MAX_PHYS ,sizeof (*sas_ports),GFP_KERNEL );if (!sas_phys || !sas_ports) {kfree (sas_phys);
drivers/scsi/ch.c renamed from drivers/scsi/ch.c~drivers-scsi-correct-the-size-argument-to-kmalloc +1 -1
@@ -351,7 +351,7 @@ ch_readconfig(scsi_changer *ch) }/* look up the devices of the data transfer elements */ - ch->dt =kmalloc (ch->counts[CHET_DT ]*sizeof (struct scsi_device ), + ch->dt =kcalloc (ch->counts[CHET_DT ],sizeof (*ch->dt),GFP_KERNEL );if (!ch->dt) {
_