aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorMathias Krause <minipli@googlemail.com>2013-03-09 05:52:20 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-20 12:58:54 -0700
commit3385fcdbf46ec6fbbcefffd41ac10a8c4daafd32 (patch)
tree82fd30a23ef568373f23caf241473ea5a971ec9f /net/core
parent2f401a6d4d0bebbb5e80711305d1f4904f192cee (diff)
downloadkernel_samsung_smdk4412-3385fcdbf46ec6fbbcefffd41ac10a8c4daafd32.zip
kernel_samsung_smdk4412-3385fcdbf46ec6fbbcefffd41ac10a8c4daafd32.tar.gz
kernel_samsung_smdk4412-3385fcdbf46ec6fbbcefffd41ac10a8c4daafd32.tar.bz2
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/rtnetlink.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 49f281e..222312e 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -963,6 +963,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
struct ifla_vf_mac vf_mac;
struct ifla_vf_vlan vf_vlan;
struct ifla_vf_tx_rate vf_tx_rate;
+ memset(ivi.mac, 0, sizeof(ivi.mac));
if (dev->netdev_ops->ndo_get_vf_config(dev, i, &ivi))
break;
vf_mac.vf = vf_vlan.vf = vf_tx_rate.vf = ivi.vf;