staging: unisys: visorutil: Use kzalloc instead of kmalloc with memset

Author: Iulia Manda <iulia.manda21@gmail.com>

Fix coccinelle warnings of better allocation by using kzalloc.
In these cases, kzalloc is preferred, as kmalloc may fail if it does not find
contiguous memory.

Signed-off-by: Iulia Manda 
Acked-by: Luis R. Rodriguez 
Signed-off-by: Peter P Waskiewicz Jr 
---
 drivers/staging/unisys/visorutil/procobjecttree.c | 24 ++++++++---------------
 1 file changed, 8 insertions(+), 16 deletions(-)
 
diff --git a/drivers/staging/unisys/visorutil/procobjecttree.c b/drivers/staging/unisys/visorutil/procobjecttree.c
index e4d734e..9c2dd0c 100644
--- a/drivers/staging/unisys/visorutil/procobjecttree.c
+++ b/drivers/staging/unisys/visorutil/procobjecttree.c
@@ -140,10 +140,9 @@ MYPROCTYPE *visor_proc_CreateType(struct proc_dir_entry *procDirRoot,
 		FAIL("procDirRoot cannot be NULL!", 0);
 	if (name == NULL || name[0] == NULL)
 		FAIL("name must contain at least 1 node name!", 0);
-	type = kmalloc(sizeof(MYPROCTYPE), GFP_KERNEL|__GFP_NORETRY);
+	type = kzalloc(sizeof(MYPROCTYPE), GFP_KERNEL | __GFP_NORETRY);
 	if (type == NULL)
 		FAIL("out of memory", 0);
-	memset(type, 0, sizeof(MYPROCTYPE));
 	type->name = name;
 	type->propertyNames = propertyNames;
 	type->nProperties = 0;
@@ -155,13 +154,11 @@ MYPROCTYPE *visor_proc_CreateType(struct proc_dir_entry *procDirRoot,
 			type->nProperties++;
 	while (type->name[type->nNames] != NULL)
 		type->nNames++;
-	type->procDirs = kmalloc((type->nNames+1)*
+	type->procDirs = kzalloc((type->nNames + 1) *
 				 sizeof(struct proc_dir_entry *),
-				 GFP_KERNEL|__GFP_NORETRY);
+				 GFP_KERNEL | __GFP_NORETRY);
 	if (type->procDirs == NULL)
 		FAIL("out of memory", 0);
-	memset(type->procDirs, 0, (type->nNames + 1) *
-	       sizeof(struct proc_dir_entry *));
 	parent = procDirRoot;
 	for (i = 0; i < type->nNames; i++) {
 		type->procDirs[i] = createProcDir(type->name[i], parent);
@@ -218,10 +215,9 @@ MYPROCOBJECT *visor_proc_CreateObject(MYPROCTYPE *type,
 
 	if (type == NULL)
 		FAIL("type cannot be NULL", 0);
-	obj = kmalloc(sizeof(MYPROCOBJECT), GFP_KERNEL | __GFP_NORETRY);
+	obj = kzalloc(sizeof(MYPROCOBJECT), GFP_KERNEL | __GFP_NORETRY);
 	if (obj == NULL)
 		FAIL("out of memory", 0);
-	memset(obj, 0, sizeof(MYPROCOBJECT));
 	obj->type = type;
 	obj->context = context;
 	if (name == NULL) {
@@ -240,19 +236,15 @@ MYPROCOBJECT *visor_proc_CreateObject(MYPROCTYPE *type,
 			RETPTR(NULL);
 	}
 	obj->procDirPropertyContexts =
-		kmalloc((type->nProperties+1)*sizeof(PROCDIRENTRYCONTEXT),
-			GFP_KERNEL|__GFP_NORETRY);
+		kzalloc((type->nProperties + 1) * sizeof(PROCDIRENTRYCONTEXT),
+			GFP_KERNEL | __GFP_NORETRY);
 	if (obj->procDirPropertyContexts == NULL)
 		FAIL("out of memory", 0);
-	memset(obj->procDirPropertyContexts, 0,
-	       (type->nProperties+1)*sizeof(PROCDIRENTRYCONTEXT));
 	obj->procDirProperties =
-		kmalloc((type->nProperties+1) * sizeof(struct proc_dir_entry *),
-			GFP_KERNEL|__GFP_NORETRY);
+		kzalloc((type->nProperties + 1) * sizeof(struct proc_dir_entry *),
+			GFP_KERNEL | __GFP_NORETRY);
 	if (obj->procDirProperties == NULL)
 		FAIL("out of memory", 0);
-	memset(obj->procDirProperties, 0,
-	       (type->nProperties+1) * sizeof(struct proc_dir_entry *));
 	for (i = 0; i < type->nProperties; i++) {
 		obj->procDirPropertyContexts[i].procObject = obj;
 		obj->procDirPropertyContexts[i].propertyIndex = i;