2006-11-21 19:43:59

by David Binderman

[permalink] [raw]
Subject: arch/i386/kernel/msr.c(198): remark #593: variable "rv" was set but never used


Hello there,

I just tried to compile Linux kernel 2.6.18.3 with the Intel C
C compiler.

It said

arch/x86_64/kernel/../../i386/kernel/msr.c(198): remark #593: variable "rv"
was set but never used

The source code is

size_t rv;

I have checked the source code and I agree with the compiler.
Suggest delete local variable.

Regards

David Binderman

_________________________________________________________________
Be the first to hear what's new at MSN - sign up to our free newsletters!
http://www.msn.co.uk/newsletters


2006-11-21 20:27:25

by David Rientjes

[permalink] [raw]
Subject: [PATCH] i386 msr: remove unused variable

Remove unused variable in msr_write().

Reported by D Binderman <[email protected]>.

Cc: H. Peter Anvin <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
---
arch/i386/kernel/msr.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/i386/kernel/msr.c b/arch/i386/kernel/msr.c
index d535cdb..331bd59 100644
--- a/arch/i386/kernel/msr.c
+++ b/arch/i386/kernel/msr.c
@@ -195,7 +195,6 @@ static ssize_t msr_write(struct file *fi
{
const u32 __user *tmp = (const u32 __user *)buf;
u32 data[2];
- size_t rv;
u32 reg = *ppos;
int cpu = iminor(file->f_dentry->d_inode);
int err;
@@ -203,7 +202,7 @@ static ssize_t msr_write(struct file *fi
if (count % 8)
return -EINVAL; /* Invalid chunk size */

- for (rv = 0; count; count -= 8) {
+ for (; count; count -= 8) {
if (copy_from_user(&data, tmp, 8))
return -EFAULT;
err = do_wrmsr(cpu, reg, data[0], data[1]);

2006-11-21 21:00:31

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] i386 msr: remove unused variable

On Tue, Nov 21, 2006 at 12:27:22PM -0800, David Rientjes wrote:
> Remove unused variable in msr_write().
>
> Reported by D Binderman <[email protected]>.
>
> Cc: H. Peter Anvin <[email protected]>
> Signed-off-by: David Rientjes <[email protected]>
> ---
> arch/i386/kernel/msr.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/arch/i386/kernel/msr.c b/arch/i386/kernel/msr.c
> index d535cdb..331bd59 100644
> --- a/arch/i386/kernel/msr.c
> +++ b/arch/i386/kernel/msr.c
> @@ -195,7 +195,6 @@ static ssize_t msr_write(struct file *fi
> {
> const u32 __user *tmp = (const u32 __user *)buf;
> u32 data[2];
> - size_t rv;
> u32 reg = *ppos;
> int cpu = iminor(file->f_dentry->d_inode);
> int err;
> @@ -203,7 +202,7 @@ static ssize_t msr_write(struct file *fi
> if (count % 8)
> return -EINVAL; /* Invalid chunk size */
>
> - for (rv = 0; count; count -= 8) {
> + for (; count; count -= 8) {
>...

What about changing this to a while() loop?

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

2006-11-21 21:06:22

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] i386 msr: remove unused variable

On Tue, 21 Nov 2006, Adrian Bunk wrote:

> On Tue, Nov 21, 2006 at 12:27:22PM -0800, David Rientjes wrote:
> > Remove unused variable in msr_write().
> >
> > Reported by D Binderman <[email protected]>.
> >
> > Cc: H. Peter Anvin <[email protected]>
> > Signed-off-by: David Rientjes <[email protected]>
> > ---
> > arch/i386/kernel/msr.c | 3 +--
> > 1 files changed, 1 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/i386/kernel/msr.c b/arch/i386/kernel/msr.c
> > index d535cdb..331bd59 100644
> > --- a/arch/i386/kernel/msr.c
> > +++ b/arch/i386/kernel/msr.c
> > @@ -195,7 +195,6 @@ static ssize_t msr_write(struct file *fi
> > {
> > const u32 __user *tmp = (const u32 __user *)buf;
> > u32 data[2];
> > - size_t rv;
> > u32 reg = *ppos;
> > int cpu = iminor(file->f_dentry->d_inode);
> > int err;
> > @@ -203,7 +202,7 @@ static ssize_t msr_write(struct file *fi
> > if (count % 8)
> > return -EINVAL; /* Invalid chunk size */
> >
> > - for (rv = 0; count; count -= 8) {
> > + for (; count; count -= 8) {
> >...
>
> What about changing this to a while() loop?
>

Unnecessary because tmp is also incremented at the bottom of this for loop
so there are two incremental variables. It is not better served with a
while loop; the absence of an initialization variable does not suggest
such.

David