summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2012-02-01 09:32:25 +0000
committerDavid S. Miller <davem@davemloft.net>2012-02-01 14:47:17 -0500
commit786f528119722f564a22ad953411374e06116333 (patch)
tree122ca6128b967fc4e91ff9a974181536a55f64ed /net
parentefcdbf24fd5daa88060869e51ed49f68b7ac8708 (diff)
downloadlinux-786f528119722f564a22ad953411374e06116333.tar.gz
linux-786f528119722f564a22ad953411374e06116333.tar.bz2
linux-786f528119722f564a22ad953411374e06116333.zip
ethtool: Null-terminate filename passed to ethtool_ops::flash_device
The parameters for ETHTOOL_FLASHDEV include a filename, which ought to be null-terminated. Currently the only driver that implements ethtool_ops::flash_device attempts to add a null terminator if necessary, but does it wrongly. Do it in the ethtool core instead. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/core/ethtool.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index 369b41894527..3f79db1b612a 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -1190,6 +1190,8 @@ static noinline_for_stack int ethtool_flash_device(struct net_device *dev,
if (!dev->ethtool_ops->flash_device)
return -EOPNOTSUPP;
+ efl.data[ETHTOOL_FLASH_MAX_FILENAME - 1] = 0;
+
return dev->ethtool_ops->flash_device(dev, &efl);
}