2009-11-26 15:40:54

by Alan

[permalink] [raw]
Subject: [PATCH] Edwin Török found the following, so fix it

In function ‘memset’,
inlined from ‘ir_input_init’ at drivers/media/common/ir-functions.c:67:
/home/edwin/builds/linux-2.6/arch/x86/include/asm/string_64.h:61:
warning: call to ‘__warn_memset_zero_len’ declared with attribute
warning: memset used with constant zero length parameter; this could be
due to transposed parameters
memset(ir->ir_codes, sizeof(ir->ir_codes), 0);


In actual practice the only caller I can find happens to already have cleared
the buffer before calling ir_input_init.

Signed-off-by: Alan Cox <[email protected]>
---

drivers/media/common/ir-functions.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/drivers/media/common/ir-functions.c b/drivers/media/common/ir-functions.c
index 98b5125..fc2d894 100644
--- a/drivers/media/common/ir-functions.c
+++ b/drivers/media/common/ir-functions.c
@@ -64,7 +64,7 @@ void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,

ir->ir_type = ir_type;

- memset(ir->ir_codes, sizeof(ir->ir_codes), 0);
+ memset(ir->ir_codes, 0, sizeof(ir->ir_codes));

/*
* FIXME: This is a temporary workaround to use the new IR tables


2009-11-26 16:46:03

by Éric Piel

[permalink] [raw]
Subject: Re: [PATCH] Edwin Török found the following , so fix it

Op 26-11-09 16:22, Alan Cox schreef:
> In function ‘memset’,
> inlined from ‘ir_input_init’ at drivers/media/common/ir-functions.c:67:
> /home/edwin/builds/linux-2.6/arch/x86/include/asm/string_64.h:61:
> warning: call to ‘__warn_memset_zero_len’ declared with attribute
> warning: memset used with constant zero length parameter; this could be
> due to transposed parameters
> memset(ir->ir_codes, sizeof(ir->ir_codes), 0);
Hello,
A "grep -E "memset.*,.*, 0\\)" -r" also reports
drivers/staging/hv/StorVsc.c as a suspect:
memset(request, sizeof(struct storvsc_request_extension), 0);
memset(vstorPacket, sizeof(struct vstor_packet), 0);
memset(vstorPacket, sizeof(struct vstor_packet), 0);
memset(vstorPacket, sizeof(struct vstor_packet), 0);

Maybe someone cares about fixing it too?

Cheers,
Eric

2009-11-26 17:47:15

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] Edwin T??r??k found the following, so fix it

On Thu, Nov 26, 2009 at 05:46:03PM +0100, ??ric Piel wrote:
> Op 26-11-09 16:22, Alan Cox schreef:
> > In function ???memset???,
> > inlined from ???ir_input_init??? at drivers/media/common/ir-functions.c:67:
> > /home/edwin/builds/linux-2.6/arch/x86/include/asm/string_64.h:61:
> > warning: call to ???__warn_memset_zero_len??? declared with attribute
> > warning: memset used with constant zero length parameter; this could be
> > due to transposed parameters
> > memset(ir->ir_codes, sizeof(ir->ir_codes), 0);
> Hello,
> A "grep -E "memset.*,.*, 0\\)" -r" also reports
> drivers/staging/hv/StorVsc.c as a suspect:
> memset(request, sizeof(struct storvsc_request_extension), 0);
> memset(vstorPacket, sizeof(struct vstor_packet), 0);
> memset(vstorPacket, sizeof(struct vstor_packet), 0);
> memset(vstorPacket, sizeof(struct vstor_packet), 0);
>
> Maybe someone cares about fixing it too?

It's already fixed in linux-next and will be sent to Linus soon.

thanks,

greg k-h