All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app.
  2011-04-13 20:33 [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app Andrei Warkentin
@ 2011-04-13 20:24 ` Chris Ball
  2011-04-13 21:04 ` John Calixto
  1 sibling, 0 replies; 4+ messages in thread
From: Chris Ball @ 2011-04-13 20:24 UTC (permalink / raw)
  To: Andrei Warkentin; +Cc: linux-mmc

Hi Andrei,

On Wed, Apr 13 2011, Andrei Warkentin wrote:
> mmc_cmd_app did not zero out mmc_command on stack.
>
> Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
> ---
>  drivers/mmc/core/sd_ops.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/sd_ops.c b/drivers/mmc/core/sd_ops.c
> index 76af349..71fdb07 100644
> --- a/drivers/mmc/core/sd_ops.c
> +++ b/drivers/mmc/core/sd_ops.c
> @@ -29,6 +29,8 @@ static int mmc_app_cmd(struct mmc_host *host, struct mmc_card *card)
>  	BUG_ON(!host);
>  	BUG_ON(card && (card->host != host));
>  
> +	memset(&cmd, 0, sizeof(struct mmc_command));
> +
>  	cmd.opcode = MMC_APP_CMD;
>  
>  	if (card) {

Thanks, pushed to mmc-next for .40.  I found a few more which I'm about
to post.

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app.
@ 2011-04-13 20:33 Andrei Warkentin
  2011-04-13 20:24 ` Chris Ball
  2011-04-13 21:04 ` John Calixto
  0 siblings, 2 replies; 4+ messages in thread
From: Andrei Warkentin @ 2011-04-13 20:33 UTC (permalink / raw)
  To: linux-mmc; +Cc: cjb, Andrei Warkentin

mmc_cmd_app did not zero out mmc_command on stack.

Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
---
 drivers/mmc/core/sd_ops.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/core/sd_ops.c b/drivers/mmc/core/sd_ops.c
index 76af349..71fdb07 100644
--- a/drivers/mmc/core/sd_ops.c
+++ b/drivers/mmc/core/sd_ops.c
@@ -29,6 +29,8 @@ static int mmc_app_cmd(struct mmc_host *host, struct mmc_card *card)
 	BUG_ON(!host);
 	BUG_ON(card && (card->host != host));
 
+	memset(&cmd, 0, sizeof(struct mmc_command));
+
 	cmd.opcode = MMC_APP_CMD;
 
 	if (card) {
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app.
  2011-04-13 20:33 [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app Andrei Warkentin
  2011-04-13 20:24 ` Chris Ball
@ 2011-04-13 21:04 ` John Calixto
  2011-04-13 21:40   ` Chris Ball
  1 sibling, 1 reply; 4+ messages in thread
From: John Calixto @ 2011-04-13 21:04 UTC (permalink / raw)
  To: Andrei Warkentin; +Cc: linux-mmc, Chris Ball

On Wed, 13 Apr 2011, Andrei Warkentin wrote:

> mmc_cmd_app did not zero out mmc_command on stack.
> 
> Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
> ---
>  drivers/mmc/core/sd_ops.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/mmc/core/sd_ops.c b/drivers/mmc/core/sd_ops.c
> index 76af349..71fdb07 100644
> --- a/drivers/mmc/core/sd_ops.c
> +++ b/drivers/mmc/core/sd_ops.c
> @@ -29,6 +29,8 @@ static int mmc_app_cmd(struct mmc_host *host, struct mmc_card *card)
>  	BUG_ON(!host);
>  	BUG_ON(card && (card->host != host));
>  
> +	memset(&cmd, 0, sizeof(struct mmc_command));
> +
>  	cmd.opcode = MMC_APP_CMD;
>  
>  	if (card) {
> -- 

Out of curiosity, why is:

	memset(&cmd, 0, sizeof(struct mmc_command));

preferred over:

	struct mmc_command cmd = {0};


John

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app.
  2011-04-13 21:04 ` John Calixto
@ 2011-04-13 21:40   ` Chris Ball
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Ball @ 2011-04-13 21:40 UTC (permalink / raw)
  To: John Calixto; +Cc: Andrei Warkentin, linux-mmc

Hi,

On Wed, Apr 13 2011, John Calixto wrote:
> Out of curiosity, why is:
>
> 	memset(&cmd, 0, sizeof(struct mmc_command));
>
> preferred over:
>
> 	struct mmc_command cmd = {0};

Thanks for the question.  I asked around, the verdict seems to be that
it *isn't* preferred, that the compiler can actually (theoretically)
do better with the zero initializer, and the memsets are probably
just holdover from when dynamic initialization of aggregates wasn't
available in C.

An even stronger benefit of the zero initializer is, of course, that
you can do a single-line grep to find out whether someone forgot to
initialize any of them.  (And it's a line shorter, too.)

So, now I'm thinking about a patch to convert all of our uses of
memset(.., 0, struct ..) over to { 0 } initializers.  Yell if
anyone has strong opinions.

Thanks,

- Chris.
-- 
Chris Ball   <cjb@laptop.org>   <http://printf.net/>
One Laptop Per Child

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-04-13 21:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-13 20:33 [PATCH] MMC: Fix use of uninitialized data in mmc_cmd_app Andrei Warkentin
2011-04-13 20:24 ` Chris Ball
2011-04-13 21:04 ` John Calixto
2011-04-13 21:40   ` Chris Ball

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.