diff options
author | David L Stevens <dlstevens@us.ibm.com> | 2008-04-27 04:06:07 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-27 17:26:53 -0400 |
commit | dae50295488f35d2d617b08a5fae43154c947eec (patch) | |
tree | afee67a0e85f4a168e0bb75423f1b703f48baad3 /net/ipv4/ip_sockglue.c | |
parent | 01a2202c95989a4df48e9a5b5e013cb80c6b2d66 (diff) |
ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.
Add support on 64-bit kernels for seting 32-bit compatible MCAST*
socket options.
Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
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 */ |