Subject: Re: drivers/net/niu.c: memcpy(dev->dev_addr, dev->perm_addr, dev->addr_len)?

From: Roel Kluin <[email-masked]>
Date: Fri, 21 Mar 2008 00:01:11 +0100

David Miller wrote:
> From: Roel Kluin <[email-masked]>
> Date: Thu, 20 Mar 2008 22:01:02 +0100
> 
>> in drivers/net/niu.c, line 6406, 6286 and 7173:
>>
>> memcpy(dev->dev_addr, dev->perm_addr, dev->addr_len);
>>
>> I noticed that "
>>
>> memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len)
>>
>> occurs much more often (15x). could it be that the first two arguments
>> are swapped in niu.c?
> 
> No, these calls are correct.  We are probing the device's permanent
> ethernet address, we first place it into dev->dev_addr and then we
> copy it into dev->perm_addr.
> 
> Please try to actually understand the pieces of strcpy and memcpy code
> you are "finding bugs" in before posting to the list as these analysis
> on false positives are going to eat up a lot of developer time.

Sorry for the noise (also for sound/sparc/dbri.c) and thanks for your
answers, It takes a lot more time for me to understand the code than it
will do for someone with more knowledge and experience with this driver, 

If drivers/net/niu.c copies in opposite direction compared to 80% of the
other memcpy calls - using these same variable names - and it is not
directly transparent why, My opinion is that either the naming is bad or
there is a lack of comment.

> I notice you posting several of these kinds of things.

Only 2 with the above conditions and patches or not where I was able to
figure it out myself. I don't really understand why you are opposed to
these questions.