From: Li Zefan The size passing to memset is wrong. And here we can replace kmalloc with kzalloc. Signed-off-by Li Zefan Cc: Russell King Signed-off-by: Andrew Morton --- arch/arm/common/uengine.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff -puN arch/arm/common/uengine.c~arm-fix-memset-size-error arch/arm/common/uengine.c --- a/arch/arm/common/uengine.c~arm-fix-memset-size-error +++ a/arch/arm/common/uengine.c @@ -374,8 +374,8 @@ static int set_initial_registers(int uen u8 *ucode; int i; - gpr_a = kmalloc(128 * sizeof(u32), GFP_KERNEL); - gpr_b = kmalloc(128 * sizeof(u32), GFP_KERNEL); + gpr_a = kzalloc(128 * sizeof(u32), GFP_KERNEL); + gpr_b = kzalloc(128 * sizeof(u32), GFP_KERNEL); ucode = kmalloc(513 * 5, GFP_KERNEL); if (gpr_a == NULL || gpr_b == NULL || ucode == NULL) { kfree(ucode); @@ -388,8 +388,6 @@ static int set_initial_registers(int uen if (c->uengine_parameters & IXP2000_UENGINE_4_CONTEXTS) per_ctx_regs = 32; - memset(gpr_a, 0, sizeof(gpr_a)); - memset(gpr_b, 0, sizeof(gpr_b)); for (i = 0; i < 256; i++) { struct ixp2000_reg_value *r = c->initial_reg_values + i; u32 *bank; _