diff options
| -rw-r--r-- | net/core/ethtool.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/net/core/ethtool.c b/net/core/ethtool.c index c763106c73fc..cd9bc67381b2 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c @@ -1396,11 +1396,13 @@ static int ethtool_reset(struct net_device *dev, char __user *useraddr)  static int ethtool_get_wol(struct net_device *dev, char __user *useraddr)  { -	struct ethtool_wolinfo wol = { .cmd = ETHTOOL_GWOL }; +	struct ethtool_wolinfo wol;  	if (!dev->ethtool_ops->get_wol)  		return -EOPNOTSUPP; +	memset(&wol, 0, sizeof(struct ethtool_wolinfo)); +	wol.cmd = ETHTOOL_GWOL;  	dev->ethtool_ops->get_wol(dev, &wol);  	if (copy_to_user(useraddr, &wol, sizeof(wol))) | 

