Messages in this thread | | | Date | Sun, 4 Nov 2007 23:06:32 -0500 (EST) | From | "Robert P. J. Day" <> | Subject | Re: [PATCH 1/6] ARM: fix memset size error |
| |
On Mon, 5 Nov 2007, Li Zefan wrote:
> The size passing to memset is wrong. And here we can replace > kmalloc with kzalloc. > > Signed-off-by Li Zefan <lizf@cn.fujitsu.com> > > --- > arch/arm/common/uengine.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/arm/common/uengine.c b/arch/arm/common/uengine.c > index 95c8508..117cab3 100644 > --- a/arch/arm/common/uengine.c > +++ b/arch/arm/common/uengine.c > @@ -374,8 +374,8 @@ static int set_initial_registers(int uengine, struct ixp2000_uengine_code *c) > 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 uengine, struct ixp2000_uengine_code *c) > 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; > it's unlikely that patch will cause any trouble whatsoever, but notice that it *is* changing the underlying logic. those original memsets should probably have been written initially as "sizeof(*gpr_a)" so they would previously have zeroed only memory the ^ size of a pointer, no?
now, i'm guessing the logic is correct but i figured it's worth noting what the code *used* to do. unless i'm misreading something horribly.
rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA
http://crashcourse.ca ======================================================================== - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |