* [PATCH] [ETHTOOL]: EEPROM dump no longer works for tg3 and natsemi
@ 2008-04-25 2:20 Mandeep Singh Baines
2008-04-25 3:57 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Mandeep Singh Baines @ 2008-04-25 2:20 UTC (permalink / raw)
To: netdev, leitao, davem; +Cc: thockin, jeff, joe, nil, matthew
In the ethtool user-space application, tg3 and natsemi over-ride the default
implementation of dump_eeprom(). In both tg3_dump_eeprom() and
natsemi_dump_eeprom(), there is a magic number check which is not present in
the default implementation.
Commit b131dd5d snipped the code which copied the ethtool_eeprom structure
back to user-space. tg3 and natsemi are over-writing the magic number field
and then checking it in user-space. With the ethtool_eeprom copy removed, the
check is failing.
The fix is simple. Add the ethtool_eeprom copy back.
Signed-off-by: Mandeep Singh Baines <msb@google.com>
---
net/core/ethtool.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index a29b43d..0133b5e 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -323,6 +323,11 @@ static int ethtool_get_eeprom(struct net_device *dev, void __user *useraddr)
bytes_remaining -= eeprom.len;
}
+ eeprom.len = userbuf - (useraddr + sizeof(eeprom));
+ eeprom.offset -= eeprom.len;
+ if (copy_to_user(useraddr, &eeprom, sizeof(eeprom)))
+ ret = -EFAULT;
+
kfree(data);
return ret;
}
--
1.5.2.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] [ETHTOOL]: EEPROM dump no longer works for tg3 and natsemi
2008-04-25 2:20 [PATCH] [ETHTOOL]: EEPROM dump no longer works for tg3 and natsemi Mandeep Singh Baines
@ 2008-04-25 3:57 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2008-04-25 3:57 UTC (permalink / raw)
To: msb; +Cc: netdev, leitao, thockin, jeff, joe, nil, matthew
From: Mandeep Singh Baines <msb@google.com>
Date: Thu, 24 Apr 2008 19:20:30 -0700
> In the ethtool user-space application, tg3 and natsemi over-ride the default
> implementation of dump_eeprom(). In both tg3_dump_eeprom() and
> natsemi_dump_eeprom(), there is a magic number check which is not present in
> the default implementation.
>
> Commit b131dd5d snipped the code which copied the ethtool_eeprom structure
> back to user-space. tg3 and natsemi are over-writing the magic number field
> and then checking it in user-space. With the ethtool_eeprom copy removed, the
> check is failing.
>
> The fix is simple. Add the ethtool_eeprom copy back.
>
> Signed-off-by: Mandeep Singh Baines <msb@google.com>
Patch applied, thank you for fixing this bug.
Could you make a minor modification to your changelog comments
in the future? When referencing an SHA ID commit, please include
the header text line from the changelog. In this way, if the
commit ID changes for whatever reason, people can still figure out
what commit you're referencing.
For example, I changed your second paragraph to read:
--------------------
Commit b131dd5d ("[ETHTOOL]: Add support for large eeproms") snipped
the code which copied the ethtool_eeprom structure back to
user-space. tg3 and natsemi are over-writing the magic number field
and then checking it in user-space. With the ethtool_eeprom copy
removed, the check is failing.
--------------------
when I added your change.
Thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-04-25 3:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-25 2:20 [PATCH] [ETHTOOL]: EEPROM dump no longer works for tg3 and natsemi Mandeep Singh Baines
2008-04-25 3:57 ` David Miller
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).