From dacb381257fc0215f6b18dc40e59329bd948a951 Mon Sep 17 00:00:00 2001 From: Mandeep Singh Baines Date: Thu, 24 Apr 2008 20:55:56 -0700 Subject: [PATCH] --- yaml --- r: 93083 b: refs/heads/master c: c5835df9716bdb1af8e25e9a452f717e54e02ed0 h: refs/heads/master i: 93081: 5b872223fb84c7a893e715fb89a130046897bf39 93079: 0c437d93afa046356dae198f29849dc9973053a1 v: v3 --- [refs] | 2 +- trunk/net/core/ethtool.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 74e60a8b7296..1063abcd8a4e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2db3e47e7080fde2a43d6312190d8229826b8e42 +refs/heads/master: c5835df9716bdb1af8e25e9a452f717e54e02ed0 diff --git a/trunk/net/core/ethtool.c b/trunk/net/core/ethtool.c index a29b43d0b450..0133b5ebd545 100644 --- a/trunk/net/core/ethtool.c +++ b/trunk/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; }