diff options
Diffstat (limited to 'net/ipv4/ip_sockglue.c')
-rw-r--r-- | net/ipv4/ip_sockglue.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index d8adfd4972e2..4d8d95404f45 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <linux/mroute.h> | 36 | #include <linux/mroute.h> |
37 | #include <net/route.h> | 37 | #include <net/route.h> |
38 | #include <net/xfrm.h> | 38 | #include <net/xfrm.h> |
39 | #include <net/compat.h> | ||
39 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | 40 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
40 | #include <net/transp_v6.h> | 41 | #include <net/transp_v6.h> |
41 | #endif | 42 | #endif |
@@ -923,6 +924,10 @@ int compat_ip_setsockopt(struct sock *sk, int level, int optname, | |||
923 | if (level != SOL_IP) | 924 | if (level != SOL_IP) |
924 | return -ENOPROTOOPT; | 925 | return -ENOPROTOOPT; |
925 | 926 | ||
927 | if (optname >= MCAST_JOIN_GROUP && optname <= MCAST_MSFILTER) | ||
928 | return compat_mc_setsockopt(sk, level, optname, optval, optlen, | ||
929 | ip_setsockopt); | ||
930 | |||
926 | err = do_ip_setsockopt(sk, level, optname, optval, optlen); | 931 | err = do_ip_setsockopt(sk, level, optname, optval, optlen); |
927 | #ifdef CONFIG_NETFILTER | 932 | #ifdef CONFIG_NETFILTER |
928 | /* we need to exclude all possible ENOPROTOOPTs except default case */ | 933 | /* we need to exclude all possible ENOPROTOOPTs except default case */ |