diff options
author | David L Stevens <dlstevens@us.ibm.com> | 2008-04-27 01:06:07 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-27 14:26:53 -0700 |
commit | dae50295488f35d2d617b08a5fae43154c947eec (patch) | |
tree | afee67a0e85f4a168e0bb75423f1b703f48baad3 /net/ipv4/ip_sockglue.c | |
parent | 01a2202c95989a4df48e9a5b5e013cb80c6b2d66 (diff) | |
download | linux-dae50295488f35d2d617b08a5fae43154c947eec.tar.gz linux-dae50295488f35d2d617b08a5fae43154c947eec.tar.bz2 linux-dae50295488f35d2d617b08a5fae43154c947eec.zip |
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 @@ #include <linux/mroute.h> #include <net/route.h> #include <net/xfrm.h> +#include <net/compat.h> #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) #include <net/transp_v6.h> #endif @@ -923,6 +924,10 @@ int compat_ip_setsockopt(struct sock *sk, int level, int optname, if (level != SOL_IP) return -ENOPROTOOPT; + if (optname >= MCAST_JOIN_GROUP && optname <= MCAST_MSFILTER) + return compat_mc_setsockopt(sk, level, optname, optval, optlen, + ip_setsockopt); + err = do_ip_setsockopt(sk, level, optname, optval, optlen); #ifdef CONFIG_NETFILTER /* we need to exclude all possible ENOPROTOOPTs except default case */ |