diff options
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index aa3d07c52a8f..d6846393182d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -123,7 +123,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb, int features) | |||
123 | struct ipv6hdr *ipv6h; | 123 | struct ipv6hdr *ipv6h; |
124 | struct inet6_protocol *ops; | 124 | struct inet6_protocol *ops; |
125 | 125 | ||
126 | if (!(features & NETIF_F_HW_CSUM)) | 126 | if (!(features & NETIF_F_V6_CSUM)) |
127 | features &= ~NETIF_F_SG; | 127 | features &= ~NETIF_F_SG; |
128 | 128 | ||
129 | if (unlikely(skb_shinfo(skb)->gso_type & | 129 | if (unlikely(skb_shinfo(skb)->gso_type & |
@@ -336,16 +336,12 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, | |||
336 | break; | 336 | break; |
337 | 337 | ||
338 | case IPV6_RECVRTHDR: | 338 | case IPV6_RECVRTHDR: |
339 | if (val < 0 || val > 2) | 339 | np->rxopt.bits.srcrt = valbool; |
340 | goto e_inval; | ||
341 | np->rxopt.bits.srcrt = val; | ||
342 | retv = 0; | 340 | retv = 0; |
343 | break; | 341 | break; |
344 | 342 | ||
345 | case IPV6_2292RTHDR: | 343 | case IPV6_2292RTHDR: |
346 | if (val < 0 || val > 2) | 344 | np->rxopt.bits.osrcrt = valbool; |
347 | goto e_inval; | ||
348 | np->rxopt.bits.osrcrt = val; | ||
349 | retv = 0; | 345 | retv = 0; |
350 | break; | 346 | break; |
351 | 347 | ||
@@ -416,11 +412,10 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, | |||
416 | if (optname == IPV6_RTHDR && opt && opt->srcrt) { | 412 | if (optname == IPV6_RTHDR && opt && opt->srcrt) { |
417 | struct ipv6_rt_hdr *rthdr = opt->srcrt; | 413 | struct ipv6_rt_hdr *rthdr = opt->srcrt; |
418 | switch (rthdr->type) { | 414 | switch (rthdr->type) { |
419 | case IPV6_SRCRT_TYPE_0: | 415 | #if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE) |
420 | #ifdef CONFIG_IPV6_MIP6 | ||
421 | case IPV6_SRCRT_TYPE_2: | 416 | case IPV6_SRCRT_TYPE_2: |
422 | #endif | ||
423 | break; | 417 | break; |
418 | #endif | ||
424 | default: | 419 | default: |
425 | goto sticky_done; | 420 | goto sticky_done; |
426 | } | 421 | } |