Re: [Patch] Fix shadowed variables in fs/binfmt_elf.c

From: WANG Cong
Date: Sat Feb 16 2008 - 03:54:58 EST


From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Patch] Fix shadowed variables in fs/binfmt_elf.c
Date: Fri, 15 Feb 2008 12:34:59 -0800
Message-ID: <20080215123459.0a675826.akpm@xxxxxxxxxxxxxxxxxxxx>

> On Fri, 15 Feb 2008 21:58:02 +0800 (CST)
> WANG Cong <xiyou.wangcong@xxxxxxxxx> wrote:
>
> >
> > Fix these sparse warings:
> > fs/binfmt_elf.c:1749:29: warning: symbol 'tmp' shadows an earlier one
> > fs/binfmt_elf.c:1734:28: originally declared here
> > fs/binfmt_elf.c:2009:26: warning: symbol 'vma' shadows an earlier one
> > fs/binfmt_elf.c:1892:24: originally declared here
> >
> > Signed-off-by: WANG Cong <xiyou.wangcong@xxxxxxxxx>
> >
> > ---
> > diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
> > index 41a958a..6562563 100644
> > --- a/fs/binfmt_elf.c
> > +++ b/fs/binfmt_elf.c
> > @@ -1746,11 +1746,11 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
> > while_each_thread(g, p);
> > rcu_read_unlock();
> > list_for_each(t, &info->thread_list) {
> > - struct elf_thread_status *tmp;
> > + struct elf_thread_status *temp;
> > int sz;
> >
> > - tmp = list_entry(t, struct elf_thread_status, list);
> > - sz = elf_dump_thread_status(signr, tmp);
> > + temp = list_entry(t, struct elf_thread_status, list);
> > + sz = elf_dump_thread_status(signr, temp);
> > info->thread_status_size += sz;
> > }
> > }
>
> `tmp' is an awful identifier, and renaming it to "temp" hardly improves it.
> Please take any opportunity to fix this sort of thing.
>
> I chose "ets" which is a bit weird but once one understand what it means,
> it makes the code much easier to follow.
>
> Also used the same local for both loops. There seems little point in
> instantiating a second one.

I agree. The first 'tmp' you showed is really not good, 'ets' is better.

Thanks, Andrew!
--
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/