]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
rtnl: fix info leak on RTM_GETLINK request for VF devices
authorMathias Krause <minipli@googlemail.com>
Sat, 9 Mar 2013 05:52:20 +0000 (05:52 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Mar 2013 19:58:54 +0000 (12:58 -0700)
[ 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>
net/core/rtnetlink.c

index 49f281e60643300c0c989e9c3fde0bda1f5c29c4..222312ec7d42a3ddcf54c28998dc17ee14310160 100644 (file)
@@ -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;