]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/core/ethtool.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireles...
[linux-2.6-omap-h63xx.git] / net / core / ethtool.c
index a29b43d0b450a5e1a265375bd4f77797f0b23d79..0133b5ebd545287be9a2ee19d8fbf75db8e9ca59 100644 (file)
@@ -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;
 }