diff options
author | Mathias Krause <minipli@googlemail.com> | 2013-03-09 05:52:20 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-03-27 02:40:58 +0000 |
commit | 2ed5a1be59dc5c54b33581031584e9bd35a3a3ab (patch) | |
tree | 5d1d74b752bf8b598e77b7a1276fe8d57f4484a8 /net/core | |
parent | 57696b9f38a4915ff92d490e919af694103c844a (diff) |
rtnl: fix info leak on RTM_GETLINK request for VF devices
[ Upstream commit 84d73cd3fb142bf1298a8c13fd4ca50fd2432372 ]
Initialize the mac address buffer with 0 as the driver specific function
will probably not fill the whole buffer. In fact, all in-kernel drivers
fill only ETH_ALEN of the MAX_ADDR_LEN bytes, i.e. 6 of the 32 possible
bytes. Therefore we currently leak 26 bytes of stack memory to userland
via the netlink interface.
Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/rtnetlink.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 5229c7f3879..92f8ed88048 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -973,6 +973,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev, * report anything. */ ivi.spoofchk = -1; + memset(ivi.mac, 0, sizeof(ivi.mac)); if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi)) break; vf_mac.vf = |