]> err.no Git - linux-2.6/commitdiff
ipv6: Compilation fix for compat MCAST_MSFILTER sockopts.
authorPavel Emelyanov <xemul@openvz.org>
Wed, 30 Apr 2008 21:49:54 +0000 (14:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Apr 2008 21:49:54 +0000 (14:49 -0700)
The last hunk from the commit dae50295 (ipv4/ipv6 compat: Fix SSM
applications on 64bit kernels.) escaped from the compat_ipv6_setsockopt
to the ipv6_getsockopt (I guess due to patch smartness wrt searching
for context) thus breaking 32-bit and 64-bit-without-compat compilation.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ipv6_sockglue.c

index b4a26f2505f8864fab1943a282051d126dbebf4c..56d55fecf8ec49d49a79e804b0129e8570441df5 100644 (file)
@@ -1089,10 +1089,6 @@ int ipv6_getsockopt(struct sock *sk, int level, int optname,
        if(level != SOL_IPV6)
                return -ENOPROTOOPT;
 
-       if (optname == MCAST_MSFILTER)
-               return compat_mc_getsockopt(sk, level, optname, optval, optlen,
-                       ipv6_getsockopt);
-
        err = do_ipv6_getsockopt(sk, level, optname, optval, optlen);
 #ifdef CONFIG_NETFILTER
        /* we need to exclude all possible ENOPROTOOPTs except default case */
@@ -1131,6 +1127,10 @@ int compat_ipv6_getsockopt(struct sock *sk, int level, int optname,
        if (level != SOL_IPV6)
                return -ENOPROTOOPT;
 
+       if (optname == MCAST_MSFILTER)
+               return compat_mc_getsockopt(sk, level, optname, optval, optlen,
+                       ipv6_getsockopt);
+
        err = do_ipv6_getsockopt(sk, level, optname, optval, optlen);
 #ifdef CONFIG_NETFILTER
        /* we need to exclude all possible ENOPROTOOPTs except default case */