diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
index de72902ad0ca12871522ebb507b71bac314dfa25..6f833358cd0612c4c13e5d59619e86ccee2749e5 100644
--- a/arch/arm/oprofile/common.c
+++ b/arch/arm/oprofile/common.c
@@ -140,7 +140,7 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
 		if (ret < 0)
 			return ret;
 
-		counter_config = kmalloc(sizeof(struct op_counter_config) * spec->num_counters,
+		counter_config = kcalloc(spec->num_counters, sizeof(struct op_counter_config),
 					 GFP_KERNEL);
 		if (!counter_config)
 			return -ENOMEM;