ipv6: Protect ->mc_forwarding access with CONFIG_IPV6_MROUTE
authorDavid S. Miller <davem@davemloft.net>
Tue, 4 Dec 2012 19:46:34 +0000 (14:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Dec 2012 19:46:34 +0000 (14:46 -0500)
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 28e0e627229c3fc28acc94a8f88998e5e49bdeb9..6fca01f136ad7ca3528dc19729bd8a7b07c24874 100644 (file)
@@ -469,8 +469,10 @@ static int inet6_netconf_msgsize_devconf(int type)
        /* type -1 is used for ALL */
        if (type == -1 || type == NETCONFA_FORWARDING)
                size += nla_total_size(4);
+#ifdef CONFIG_IPV6_MROUTE
        if (type == -1 || type == NETCONFA_MC_FORWARDING)
                size += nla_total_size(4);
+#endif
 
        return size;
 }
@@ -498,11 +500,12 @@ static int inet6_netconf_fill_devconf(struct sk_buff *skb, int ifindex,
        if ((type == -1 || type == NETCONFA_FORWARDING) &&
            nla_put_s32(skb, NETCONFA_FORWARDING, devconf->forwarding) < 0)
                goto nla_put_failure;
+#ifdef CONFIG_IPV6_MROUTE
        if ((type == -1 || type == NETCONFA_MC_FORWARDING) &&
            nla_put_s32(skb, NETCONFA_MC_FORWARDING,
                        devconf->mc_forwarding) < 0)
                goto nla_put_failure;
-
+#endif
        return nlmsg_end(skb, nlh);
 
 nla_put_failure: