Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5835df9 authored by Mandeep Singh Baines's avatar Mandeep Singh Baines Committed by David S. Miller
Browse files

ethtool: EEPROM dump no longer works for tg3 and natsemi



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 ("[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.

The fix is simple. Add the ethtool_eeprom copy back.

Signed-off-by: default avatarMandeep Singh Baines <msb@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2db3e47e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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;
}