LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [Patch] Fix shadowed variables in fs/binfmt_elf.c
@ 2008-02-15 13:58 WANG Cong
2008-02-15 20:34 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: WANG Cong @ 2008-02-15 13:58 UTC (permalink / raw)
To: Linux Kernel Mailing List; +Cc: Andrew Morton
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@gmail.com>
---
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;
}
}
@@ -2006,10 +2006,10 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un
for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) {
struct page *page;
- struct vm_area_struct *vma;
+ struct vm_area_struct *tmp_vma;
if (get_user_pages(current, current->mm, addr, 1, 0, 1,
- &page, &vma) <= 0) {
+ &page, &tmp_vma) <= 0) {
DUMP_SEEK(PAGE_SIZE);
} else {
if (page == ZERO_PAGE(0)) {
@@ -2019,7 +2019,7 @@ static int elf_core_dump(long signr, struct pt_regs *regs, struct file *file, un
}
} else {
void *kaddr;
- flush_cache_page(vma, addr,
+ flush_cache_page(tmp_vma, addr,
page_to_pfn(page));
kaddr = kmap(page);
if ((size += PAGE_SIZE) > limit ||
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Patch] Fix shadowed variables in fs/binfmt_elf.c
2008-02-15 13:58 [Patch] Fix shadowed variables in fs/binfmt_elf.c WANG Cong
@ 2008-02-15 20:34 ` Andrew Morton
2008-02-16 8:50 ` WANG Cong
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2008-02-15 20:34 UTC (permalink / raw)
To: WANG Cong; +Cc: linux-kernel
On Fri, 15 Feb 2008 21:58:02 +0800 (CST)
WANG Cong <xiyou.wangcong@gmail.com> 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@gmail.com>
>
> ---
> 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.
diff -puN fs/binfmt_elf.c~elf-fix-shadowed-variables-in-fs-binfmt_elfc fs/binfmt_elf.c
--- a/fs/binfmt_elf.c~elf-fix-shadowed-variables-in-fs-binfmt_elfc
+++ a/fs/binfmt_elf.c
@@ -1728,26 +1728,25 @@ static int fill_note_info(struct elfhdr
info->thread_status_size = 0;
if (signr) {
- struct elf_thread_status *tmp;
+ struct elf_thread_status *ets;
rcu_read_lock();
do_each_thread(g, p)
if (current->mm == p->mm && current != p) {
- tmp = kzalloc(sizeof(*tmp), GFP_ATOMIC);
- if (!tmp) {
+ ets = kzalloc(sizeof(*ets), GFP_ATOMIC);
+ if (!ets) {
rcu_read_unlock();
return 0;
}
- tmp->thread = p;
- list_add(&tmp->list, &info->thread_list);
+ ets->thread = p;
+ list_add(&ets->list, &info->thread_list);
}
while_each_thread(g, p);
rcu_read_unlock();
list_for_each(t, &info->thread_list) {
- struct elf_thread_status *tmp;
int sz;
- tmp = list_entry(t, struct elf_thread_status, list);
- sz = elf_dump_thread_status(signr, tmp);
+ ets = list_entry(t, struct elf_thread_status, list);
+ sz = elf_dump_thread_status(signr, ets);
info->thread_status_size += sz;
}
}
@@ -2003,10 +2002,10 @@ static int elf_core_dump(long signr, str
for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) {
struct page *page;
- struct vm_area_struct *vma;
+ struct vm_area_struct *tmp_vma;
if (get_user_pages(current, current->mm, addr, 1, 0, 1,
- &page, &vma) <= 0) {
+ &page, &tmp_vma) <= 0) {
DUMP_SEEK(PAGE_SIZE);
} else {
if (page == ZERO_PAGE(0)) {
@@ -2016,7 +2015,7 @@ static int elf_core_dump(long signr, str
}
} else {
void *kaddr;
- flush_cache_page(vma, addr,
+ flush_cache_page(tmp_vma, addr,
page_to_pfn(page));
kaddr = kmap(page);
if ((size += PAGE_SIZE) > limit ||
_
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Patch] Fix shadowed variables in fs/binfmt_elf.c
2008-02-15 20:34 ` Andrew Morton
@ 2008-02-16 8:50 ` WANG Cong
0 siblings, 0 replies; 3+ messages in thread
From: WANG Cong @ 2008-02-16 8:50 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel
From: Andrew Morton <akpm@linux-foundation.org>
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@linux-foundation.org>
> On Fri, 15 Feb 2008 21:58:02 +0800 (CST)
> WANG Cong <xiyou.wangcong@gmail.com> 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@gmail.com>
> >
> > ---
> > 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!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-02-16 8:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-15 13:58 [Patch] Fix shadowed variables in fs/binfmt_elf.c WANG Cong
2008-02-15 20:34 ` Andrew Morton
2008-02-16 8:50 ` WANG Cong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).