Re: [PATCH] sdhci: 'scratch' may be used uninitialized

From: Adrian Bunk
Date: Sun Oct 05 2008 - 10:31:21 EST


On Wed, Oct 01, 2008 at 01:50:25AM -0700, Steven Noonan wrote:
> The variable 'scratch' is always initialized before it's used. The
> conditional which is responsible for initialization of 'scratch' will
> always evaluate 'true' when the first loop iteration occurs, and thus,
> it's properly initialized. GCC doesn't see this, of course, so using
> the uninitialized_var() macro seems to work for silencing this case.
>
> Signed-off-by: Steven Noonan <steven@xxxxxxxxxxxxxx>
> ---
> drivers/mmc/host/sdhci.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index e3a8133..6257677 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -177,7 +177,7 @@ static void sdhci_read_block_pio(struct sdhci_host *host)
> {
> unsigned long flags;
> size_t blksize, len, chunk;
> - u32 scratch;
> + u32 uninitialized_var(scratch);
>...

With which gcc version?

I'm not getting this warning with gcc 4.3, and IMHO it doesn't make
sense to clutter the source code with such workarounds for older gcc
versions (we officially support 6 years old compilers, and warning-free
compilations with all of them are not reasonably possible).

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/